mysql通过find_in_set()函数实现where in()顺序排序
2017-10-13 14:55
811 查看
本文章来为各位介绍一篇关于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变量、sql和MySQL的语句执行顺序分析等,若有不足之处,欢迎大家留言指正。希望对大家有所帮助。
您可能感兴趣的文章:
相关文章推荐
- mysql 实现按 where in () 中的顺序排序,用find_in_set() 函数
- Oracle 实现 mysql 的 find_in_set 排序!
- Oracle 实现 mysql 的 find_in_set 排序!
- oracle:与mysql相似得find_set_in函数用法
- mysql 函数FIND_IN_SET、group_concat 、concat、cast的高级应用
- mysql 多值检索 find_in_set()函数
- mysql中find_in_set()函数的使用
- MySQL的FIND_IN_SET()函数
- mysql 函数 find in set()
- mysql中find_in_set()函数的使用
- mysql中find_in_set()函数的使用详解
- MySQL中的find_in_set(A, B)函数,判断字符串A是否存在B中
- mysql中find_in_set()函数的使用及in()用法详解
- mysql中find_in_set()函数的使用
- mysql中find_in_set()函数的使用
- mysql中对order by的函数substring_index() , find_in_set()使用
- mysql中 find_in_set()函数的使用
- MySQL 的 find_in_set 函数使用方法
- mysql 自定义函数declare group_concat()、find_in_set()
- mysql中find_in_set()函数的使用