程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> Mysql select in 按id排序實現方法

Mysql select in 按id排序實現方法

編輯:關於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

請問在這樣的SQL在Mysql中怎麼寫?
網上查到sqlserver中可以用order by charindex解決,但是沒看到Mysql怎麼解決??請高手幫忙,謝

謝!

select * from a order by substring_index('3,1,2',id,1);

試下這個good,ls正解。


order by find_in_set(id,'3,1,5')

謝謝,經測試order by substring_index和order by find_in_set都可以
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved