萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL查詢語句IN條件值排序問題

MySQL查詢語句IN條件值排序問題

以前很是糾結一個問題就是IN查找出來的值怎麼排序呢,後來gg,bb了一會發現其實mysql in排序很簡單,下面我整理一下相關實例供大家參考。

假如你一個表如下所示:

id name 1 張三 2 李四 3 王五

我們一般查詢多條數據的時候,條件一般是某個區間
如:>, <, between and, IN

 代碼如下 復制代碼

SELECT * FROM table_name WHERE id IN (2,1,3);


上面這條SQL是查詢id是2,1,3的數據
假如你只是想查詢出來數據而已,則沒有什麼問題
但你想排序方面也有要求的話,你會發覺,那條SQL查出來的數據是這樣的

id name 1 張三 2 李四 3 王五

就是說,並沒有按2, 1, 3這樣的ID順序來排

假如你要按你IN裡面的順序來排的話,SQL應該改成這樣:

 代碼如下 復制代碼

SELECT * FROM table_name WHERE id IN ( 2,1,3 ) ORDER BY FIND_IN_SET( id, '2,1,3' )

結果是:

id name 2 李四 1 張三 3 王五

這個用法可以延伸很多…

copyright © 萬盛學電腦網 all rights reserved