mysql数据库in查询乱序问题

当需要对查询结果按特定ID顺序排序时,可以使用MySQL的FIELD函数。例如,查询users表中id在(5,2,3,1,6,4)中的记录,通过ORDERBYFIELD(id,5,2,3,1,6,4)可以使结果按5,2,3,1,6,4的顺序显示。
摘要由CSDN通过智能技术生成

前言

现在有这样一种情况,我想按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的顺序。

结果如下;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

除了编程啥都懂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值