MYSQL 自定义排序

在mysql order by排序中,大多数情况下仅使用默认排序规则就够了:字符串按字典顺序,数字按大小等等。可有时候,某个字段是有自身业务含义的,比如 type(1,2,3)可能表示早/中/晚,如果我想把中午信息靠前,这时候普通的升降序排列就不好办了。 
field(column,value1,value2,value3,……)是解决这种问题的利器。 
column代表要排序的列,value1…… 代表自定义的顺序:order by field(type,2,3,1)就是按2在前,3次之,1最后的顺序来排。

laravel 写法:

->orderByRaw(\DB::Raw('FIELD(AuditorStatus,3,0,1,2)'))

 

posted @ 2018-08-02 10:12  佚小名  阅读(182)  评论(0编辑  收藏  举报