MySQL根据查询字段值自定义排序

前言

在日常业务开发过程中,存在需要对某个字段的不规则值进行排序操作,如状态值:草稿(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为需要自定义排序的字段名,str1str2str3为自定义排序值。
字段str按照字符串str1str2str3 的顺序返回查询到的结果集。如果表中 str 字段值不存在 str1str2st3 中的记录,则按默认排序规则排序,如果有,就会把指定的数据排在结果集最后面。

以上即是 mysql 中对字段自定义排序操作,希望对有需要的小伙伴有所帮助。

你可能感兴趣的:(mysql,mysql)