Mysql查询的数据的顺序按in里面的顺序来排序

在我们Mysql使用in用法时,会发现我们根据某个字段in多个值时返回的结果会自动排序,比如下图,in('superadmin','demo','admin') 实际查询结果返回的顺序是admin,demo,superadmin

 

但如果我们真要按IN里面的顺序排序怎么办?SQL能不能完成?是否需要取回来后再foreach一下?

其实可以这样 order by field

SELECT
	* 
FROM
	sys_user
WHERE
	username IN ( 'superadmin', 'demo', 'admin' ) 
ORDER BY
	field( username, 'superadmin', 'demo', 'admin' );

出来的顺序就是指定的顺序了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值