在我们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' );
出来的顺序就是指定的顺序了