MySQL之order by同一字段以及FIELD函数的使用
1、场景
有时候我们会遇到对MySQL中的某一个字段按照自定义的方式进行排序的业务场景,或者说是根据字段的值来排序。这种场景在枚举类型的字段中比较常见,下面我们来介绍一下自定义排序的两种方式
2、解决方案
基础数据准备:
方案1: order by 同一字段
我们可以按照uid为3、1、2的自定义顺序进行排列,如果uid未被指定,将排在最前面,我们要注意的是sql中的顺序和我们的排序是相反的,sql如下:
select uid, username from user ORDER BY uid = 2,uid = 1,uid = 3;
查询结果如下:
方案二:FIELD函数
MySQL中的FIELD()函数,可以用来对SQL中查询结果集进行指定顺序排序。 使用格式:
SELECT * from user ORDER BY FIELD(str,str1,str2,str3,...);
参
共有 0 条评论