Mysql in_如何让mysql in()查询结果按in集合顺序显示的方法

我们在用mysql查询in操作的时候,你会发现返回的数据,并不是我们想要的排序。如果情况是这样的话,那么在取回来之后还要通过foreach重新的在排序。这样即显得笨拙,也造成不必要的数据运行。这时,我们就在想如果在查询的时候,返回来的结果集就是我们想要的排序方式,那不是更好吗?其实,mysql已经为我们准备好了,只是我们平时用的少,不知道此方法而已。那么,下面就看看,mysql中的in操作,返回结果集按顺序输出。

sql语句:SELECT * FROM

yii_user WHERE id IN (20, 16, 21, 15, 17, 22, 18, 23)

fd37f822da44f94cecd2e84f72d0b097.png

处理的sql语句:SELECT * FROM

yii_user WHERE id IN (20, 16, 21, 15, 17, 22, 18, 23) ORDER BY

field(id, 20, 16, 21, 15, 17, 22, 18, 23);

e014e26dde81d84366b2bf04330d63de.png

按照上面处理过的sql语句查询的话,那么返回的结果集就是我们自己定义的排序方式输出,id会按20, 16, 21, 15, 17, 22, 18, 23排序的输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值