mysql通过find_in_set()函数实现where in()顺序排序

发布时间:2022-04-18 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了mysql通过find_in_set()函数实现where in()顺序排序脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

文章来为各位介绍一篇关于MySQL 实现按 where in () 中的顺序排序,用find_in_set() 函数的教程,希望此教程能够对各位有所帮助。

select * From table where id in ('783',' 769',' 814',' 1577',' 1769') 
order by find_in_set( id, '783, 769, 814, 1577, 1769' ) 

查出来:

769
1577
814
1769
783

为什么不是 783 769 814 1577 1769 的顺序?

注意:经查找后原因出在find_in_set里面,如果find_in_set的第二个参数中有空格将导致顺序乱掉,因为mySQL查询之前不会给你trim空格符。

so...

去空格后:

select * from table where id in ('783',' 769',' 814',' 1577',' 1769') 
order by find_in_set( id, '783,769,814,1577,1769' ) 

注意只是去掉了
'783,769,814,1577,1769' 中的空格

再查出来:
783
769
814
1577
1769

至此我们实现用where in find_in_set 的排序,find_in_set 还可实现多条件排序 试试哦

总结

以上就是本文关于mysql通过find_in_set()函数实现where in()顺序排序的全部介绍,感兴趣的朋友可以参阅:MySQL数据库表分区注意事项大全【推荐】几个比较重要的MySQL变量、@L_126_2@等,若有不足之处,欢迎大家留言指正。希望对大家有所帮助

脚本宝典总结

以上是脚本宝典为你收集整理的mysql通过find_in_set()函数实现where in()顺序排序全部内容,希望文章能够帮你解决mysql通过find_in_set()函数实现where in()顺序排序所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。