MYSQL 自定义排序函数FIELD()

FIELD():支持字段内容的自定义排序

格式:FIELD(str,str1,str2,str3,...),str 是需要进行自定义排序的字段名称,str1,str2,str3是 自定义排序字段的内容

下面我们可以通过四个例子来了解该函数的具体用法:

 SELECT * FROM test.team; 

结果??:

MYSQL 自定义排序函数FIELD()

 

 

 FIELD()案例:
A.FIELD(team_name,‘底特律活塞‘,‘亚特兰大老鹰‘,‘火箭队‘,‘印第安纳步行者‘) ASC;

SELECT
    * 
FROM
    test.team 
ORDER BY
    FIELD( team_name, 底特律活塞, 亚特兰大老鹰, 火箭队, 印第安纳步行者 ) ASC;

 

 结果:
MYSQL 自定义排序函数FIELD()

 

 

 B.FIELD( team_name, ‘底特律活塞‘, ‘亚特兰大老鹰‘, ‘火箭队‘, ‘印第安纳步行者‘ ) DESC;

SELECT
    * 
FROM
    test.team 
ORDER BY
    FIELD( team_name, 底特律活塞, 亚特兰大老鹰, 火箭队, 印第安纳步行者 ) DESC;

 

 结果??:
MYSQL 自定义排序函数FIELD()

 

 

C.FIELD( team_name, ‘底特律活塞‘ , ‘亚特兰大老鹰‘) ASC;

    SELECT
    * 
FROM
    test.team 
ORDER BY
    FIELD( team_name, 底特律活塞 , 亚特兰大老鹰) ASC;

结果??:

MYSQL 自定义排序函数FIELD()

 

 D.FIELD( team_name, ‘底特律活塞‘, ‘亚特兰大老鹰‘ ) DESC;

    SELECT
    * 
FROM
    test.team 
ORDER BY
    FIELD( team_name, 底特律活塞, 亚特兰大老鹰 ) DESC;

 

MYSQL 自定义排序函数FIELD()

 

 

重点看案例C,案例D ,当需要自定义排序的字段内容是少数的几个时,可以理解为把需要自定义排序的字段内容排在(DESC)最前面 或者 (ASC)最后面。

 

MYSQL 自定义排序函数FIELD()

上一篇:Oracle做insert或者update时未提交事务导致表锁定解决办法


下一篇:[oracle]巧用 CASE WHEN