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 |
| 5 | test5 |
+----+-------+
3 rows in set (0.00 sec)
這個select在mysql中得結果會自動按照id公升序排列,
但是我想執行"select * from test where id in(3,1,5);"的結果按照in中得條件排序,即:3,1,5,想得到的結果如下:
id name
3 test3
1 test1
5 test5
方法如下:
select * from test where id in(3,1,5) order by find_in_set(id,'3,1,5');
select * from test where id in(3,1,5) order by substring_index('3,1,2',id,1);
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 ...
mysql 查詢結果集按照指定的字段值順序排序
mysql 查詢結果如果不給予指定的order by 那麼mysql會按照主鍵順序 innodb引擎 對結果集加以排序,那麼最後的排序可能就不是你想要的排序結果。舉個例子,我要按照前端傳過來的mongoid集合來查詢資料庫並且返回同樣排序的結果集合,如 m3,m5,m4 他們對應的主鍵順序為 m4,...