文章詳情頁
mysql sql where id in(25,12,87) 結果集如何用按照 25 12 87排序?
瀏覽:201日期: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. css3 - rem布局下,用戶瀏覽器的最小字號是12px怎么辦?4. javascript - F12進入開發者中心的時候網站根據適口變化跳轉到他的移動端網頁了?5. bootstrp是col-md-12列的,只有col-md-10有內容,可以讓沒有內容的不占據位置嗎;6. node.js - mongodb中數據find出來,提示process out of memory,數據大小并沒有超過NodeJS默認的512MB7. mysql fornt登錄的時候只能用root 密碼123456,登錄進去后創建的數據表一直提示internet program bug8. mac OSX10.12.4 (16E195)下Mysql 5.7.18找不到配置文件my.cnf9. javascript - 如何將一個長為365的數組對象按月份切割成12組?10. 前端 - nginx里面怎么配置支持127.0.0.1:82下 html文件支持include
排行榜
