前言
现在有这样一种情况,我想按id进行自定义排序,比如:
select * from users where id in (5,2,3,1,6,4)
从结果上来看并没有得到我想要的结果,我想按我in中写的id顺序进行输出,我的顺序是5,2,3,1,6,4,但我输出的确是1,2,3,4,5,6。
解决办法
使用mysql语法order by field解决。
修改上面的SQL语句为:
select * from users where id in (5,2,3,1,6,4) order by field(id,5,2,3,1,6,4);
field的第一个参数是我们要按谁排序,后面的参数就是id的顺序。
结果如下;