mysql 按指定规则排序

时间:2021-10-02 00:51:38

有些时候取数据时的排序规则需要为自己的指定规则,如 1>3>2>0这种,所以需要在取数据时指定排序规则,具体方法如下:

 

SELECT `user` FROM user WHERE `user_status` in (0,1,2,3) ORDER BY FIELD(`user_status`,1,0,2,3);

 

这样就可以将取出来的数据按照 1>0>2>3 的顺序排序了。

 

在使用php框架 laravel 的时候,laravel 自带的超讯构造器并没有写好的排序指定规则的语句,但是可以通过这样写同样可以达到需求

 

User::orderByRaw("FIELD(user_status, 1,0,2,3)")->get();