文章详情页
mysql sql where id in(25,12,87) 结果集如何用按照 25 12 87排序?
浏览:175日期:2022-06-14 18:06:17
问题描述
mysql sql where id in(25,12,87) 结果集如何用按照 25 12 87排序?
数据表有一个id字段,sql的结果集如何根据 25 12 87这样的顺序显示?
id251287
而不是id122587
问题解答
回答1:SELECT * FROM table WHERE id IN(25,12,87) ORDER BY find_in_set(id,’25,12,87’)
回答2:这个在高性能mysql里面有介绍,in查询其实是一个扫表的过程,in查询时,底层是先将in里面的id就从小到大排序优化,然后再执行in查询的,所以最好是手动将id从小到大排序后再执行in查询,例如in (12,25,87),然后再按照你想要的顺序排序就好了
回答3:值取出之后在应用程序排序
回答4:SELECT * FROM table WHERE id IN(25,12,87) ORDER BY INSTR(’,25,12,87,’,CONCAT(’,’,id,’,’))
试试这个
回答5:思路转换一下,分成3条按id查询的SQL,取出来不就是按这个顺序的了么
相关文章:
1. vim - docker中新的ubuntu12.04镜像,运行vi提示,找不到命名.2. 柱形图12月显示不出来3. android webview 无法登陆126邮箱4. node.js - mongodb中数据find出来,提示process out of memory,数据大小并没有超过NodeJS默认的512MB5. html - 将被父元素transform影响的子元素设为none,但不起作用,是什么原因,F12显示transform:none是正常的。6. html5 - Angular2 提示TS1219:Experimental support for decorators ;7. css3 - rem布局下,用户浏览器的最小字号是12px怎么办?8. bootstrp是col-md-12列的,只有col-md-10有内容,可以让没有内容的不占据位置吗;9. 是真的吗? Linux 下 mysql 使用 localhost 比 127.0.0.1 快10. selenium-基于python2-126邮箱登陆问题
排行榜
