MYSQL 自定义排序函数FIELD()
FIELD():支持字段内容的自定义排序
格式:FIELD(str,str1,str2,str3,...),str 是需要进行自定义排序的字段名称,str1,str2,str3是 自定义排序字段的内容
下面我们可以通过四个例子来了解该函数的具体用法:
SELECT * FROM test.team;
结果👇:
FIELD()案例:
A.FIELD(team_name,'底特律活塞','亚特兰大老鹰','火箭队','印第安纳步行者') ASC;
SELECT * FROM test.team ORDER BY FIELD( team_name, '底特律活塞', '亚特兰大老鹰', '火箭队', '印第安纳步行者' ) ASC;
结果:
B.FIELD( team_name, '底特律活塞', '亚特兰大老鹰', '火箭队', '印第安纳步行者' ) DESC;
SELECT * FROM test.team ORDER BY FIELD( team_name, '底特律活塞', '亚特兰大老鹰', '火箭队', '印第安纳步行者' ) DESC;
结果👇:
C.FIELD( team_name, '底特律活塞' , '亚特兰大老鹰') ASC;
SELECT * FROM test.team ORDER BY FIELD( team_name, '底特律活塞' , '亚特兰大老鹰') ASC;
结果👇:
D.FIELD( team_name, '底特律活塞', '亚特兰大老鹰' ) DESC;
SELECT * FROM test.team ORDER BY FIELD( team_name, '底特律活塞', '亚特兰大老鹰' ) DESC;
重点看案例C,案例D ,当需要自定义排序的字段内容是少数的几个时,可以理解为把需要自定义排序的字段内容排在(DESC)最前面 或者 (ASC)最后面。