mysql通过find_in_set()函数实现where in()顺序排序
本文章来为各位介绍一篇关于mysql实现按wherein()中的顺序排序,用find_in_set()函数的教程,希望此教程能够对各位有所帮助。
select*fromtablewhereidin('783','769','814','1577','1769') orderbyfind_in_set(id,'783,769,814,1577,1769')
查出来:
769 1577 814 1769 783
为什么不是78376981415771769的顺序?
注意:经查找后原因出在find_in_set里面,如果find_in_set的第二个参数中有空格将导致顺序乱掉,因为mysql查询之前不会给你trim空格符。
so...
去空格后:
select*fromtablewhereidin('783','769','814','1577','1769') orderbyfind_in_set(id,'783,769,814,1577,1769')
注意只是去掉了
'783,769,814,1577,1769'中的空格
再查出来: 783 769 814 1577 1769
至此我们实现用whereinfind_in_set的排序,find_in_set还可实现多条件排序试试哦
总结
以上就是本文关于mysql通过find_in_set()函数实现wherein()顺序排序的全部介绍,感兴趣的朋友可以参阅:MySQL数据库表分区注意事项大全【推荐】、几个比较重要的MySQL变量、sql和MySQL的语句执行顺序分析等,若有不足之处,欢迎大家留言指正。希望对大家有所帮助。