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

吾爱主题 阅读:135 2024-04-05 13:58:20 评论:0

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

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

查出来:

?
1 2 3 4 5 769 1577 814 1769 783

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

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

so...

去空格后:

?
1 2 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' 中的空格

?
1 2 3 4 5 6 再查出来: 783 769 814 1577 1769

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

总结

以上就是本文关于mysql通过find_in_set()函数实现where in()顺序排序的全部介绍,若有不足之处,欢迎大家留言指正。希望对大家有所帮助。

原文链接:http://www.jquerycn.cn/a_24335

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容