mysql 查詢結果集按照指定的字段值順序排序

2022-01-11 09:44:22 字數 488 閱讀 1905

mysql 查詢結果如果不給予指定的order by ,那麼mysql會按照主鍵順序(innodb引擎)對結果集加以排序,那麼最後的排序可能就不是你想要的排序結果。

舉個例子,我要按照前端傳過來的mongoid集合來查詢資料庫並且返回同樣排序的結果集合,如(m3,m5,m4),他們對應的主鍵順序為(m4,m3,m5)。如果在查詢語句中不加order by 對查詢結果排序,那麼結果就會變成主鍵順序(m4,m3,m5)。

就像上圖,最後的結果是按vid排的序。那麼如果想要按照(m3,m5,m4)的排序返回結果,就需要用到自排序字段  order by field ( value ,str1,str2,str3) 。

sql如下:

MySql查詢結果按照指定順序排序

mysql這功能做的很好用啊!讓查詢結果按照指定順序排序 表結構如下 mysql select from test id name 1 test1 2 test2 3 test3 4 test4 5 test5 執行以下sql mysql select from test where id in 3...

MySql查詢結果按照指定順序排序

mysql這功能做的很好用啊!讓查詢結果按照指定順序排序 表結構如下 mysql select from test id name 1 test1 2 test2 3 test3 4 test4 5 test5 執行以下sql mysql select from test where id in 3...

MYSQL 讓查詢結果按照指定順序排序

表結構如下 mysql select from test id name 1 test1 2 test2 3 test3 4 test4 5 test5 執行以下sql mysql select from test where id in 3,1,5 id name 1 test1 3 test3 ...