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)最后面。

 

posted @ 2020-06-28 18:21  小花田半亩  阅读(1250)  评论(0编辑  收藏  举报