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

2021-08-30 16:41:38 字數 837 閱讀 3614

表結構如下:

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這功能做的很好用啊!讓查詢結果按照指定順序排序 表結構如下 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 查詢結果如果不給予指定的order by 那麼mysql會按照主鍵順序 innodb引擎 對結果集加以排序,那麼最後的排序可能就不是你想要的排序結果。舉個例子,我要按照前端傳過來的mongoid集合來查詢資料庫並且返回同樣排序的結果集合,如 m3,m5,m4 他們對應的主鍵順序為 m4,...