您的位置:首頁技術文章
文章詳情頁

mysql sql where id in(25,12,87) 結果集如何用按照 25 12 87排序?

瀏覽:167日期: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,取出來不就是按這個順序的了么

相關文章:
国产综合久久一区二区三区