前言
在日常业务开发过程中,存在需要对某个字段的不规则值进行排序操作,如状态值:草稿(0)、发布(1)、下线(10)进行排序,优先级为发布(1)、下线(10)、草稿(0)顺序排序,针对此需要,mysql 提供了
FIELD
关键字用于自定义方式进行排序。
Field 使用方式
select status from product order by field(status, '1', '10', '0') asc;
Field() 函数
field(value, str1, str2, str3)
value
为需要自定义排序的字段名,str1
,str2
,str3
为自定义排序值。
字段str
按照字符串str1
,str2
,str3
的顺序返回查询到的结果集。如果表中 str
字段值不存在 str1
,str2
,st3
中的记录,则按默认排序规则排序,如果有,就会把指定的数据排在结果集最后面。
以上即是 mysql 中对字段自定义排序操作,希望对有需要的小伙伴有所帮助。