程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL查詢語句IN條件值排序問題

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

編輯:MySQL綜合教程

以前很是糾結一個問題就是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 王五

這個用法可以延伸很多…

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved