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

2022-09-03 11:09:10 字數 916 閱讀 5688

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,...