假如你一個表如下所示:
我們一般查詢多條數據的時候,條件一般是某個區間
如:>, <, between and, IN
SELECT * FROM table_name WHERE id IN (2,1,3);
上面這條SQL是查詢id是2,1,3的數據
假如你只是想查詢出來數據而已,則沒有什麼問題
但你想排序方面也有要求的話,你會發覺,那條SQL查出來的數據是這樣的
就是說,並沒有按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' )
結果是:
這個用法可以延伸很多…