文章详情页
mysql sql where id in(25,12,87) 结果集如何用按照 25 12 87排序?
浏览:226日期: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. ruby - gem install rails -v 3.2.12 发生错误2. java - 利用keytool生成store并转换为PKCS#123. javax.naming.NameNotFoundException:无法解析“ MyDB”。已解决''Weblogic 12.1.3。C4. javascript - js正则验证:最长12个字,仅限中文、英文大小写、数字、基本符号5. 安装mysql-5.7.12-linux后,启动报错,求解读6. selenium-基于python2-126邮箱登陆问题7. macOS Sierra 10.12 安装mysql 5.7.1出现错误8. javascript - var str= ’asd,asd,12,321,,123,6,yrtv,x,z’; 获取其中数字,有多少种方法9. mysql fornt登录的时候只能用root 密码123456,登录进去后创建的数据表一直提示internet program bug10. javascript - 写了一个验证12.5-20.5的正则老是报错?
排行榜
