![Mysql数据查询in的时候如何排序,第1张 Mysql数据查询in的时候如何排序,第1张](/aiimages/Mysql%E6%95%B0%E6%8D%AE%E6%9F%A5%E8%AF%A2in%E7%9A%84%E6%97%B6%E5%80%99%E5%A6%82%E4%BD%95%E6%8E%92%E5%BA%8F.png)
前几天工作上遇到一个问题,在mysql数据查询的时候,使用
的是in条件,而
结果需要根据in来进行排序,当时尝试了几次都没成功,后来在度娘的帮助下,找到了解决办法: select * from table_name where id in (6,2,1,10,5,7..) 查询的结果和in中的
顺序并不一致,也就是说在批量查询时,mysql的查询并不是按照in中的值得顺序来查询的。那怎么才能保证和in查询中的顺序相同呢? 查询了资料发现有两种方式可以对in查询的结果进行排序。一种是order by find_in_set,另外一种是order by substring_index 1、select * from table_name where id in (6,2,1,10,5,7..) order by find_in_set(id,'6,2,1,10,5,7') 2、select * from table_name where id in (6,2,1,10,5,7..) order by substring_index('6,2,1,10,5,7',id,1)select id, name from users where id in (1, 2, 3, 4) // 按id查
select id, name from users where name in ("kay", "meimei") // 按用户名查
查出来有就是存在,没有就是不存在!
评论列表(0条)