• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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变量、sql和MySQL的语句执行顺序分析等,若有不足之处,欢迎大家留言指正。希望对大家有所帮助。

    您可能感兴趣的文章:
    • mysql中find_in_set()函数的使用及in()用法详解
    • MySQL的FIND_IN_SET函数使用方法分享
    • MySQL高效模糊搜索之内置函数locate instr position find_in_set使用详解
    • mysql中find_in_set()函数的使用详解
    • mysql中find_in_set函数的基本使用方法
    上一篇:Mysql中FIND_IN_SET()和IN区别简析
    下一篇:简述Redis和MySQL的区别
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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