可以在mysql查询中手动选择订单吗?

可以在mysql查询中手动选择订单吗?,mysql,sql-order-by,Mysql,Sql Order By,我有一张桌子: table1 ------------ id | name ------------ 1 | John 2 | Steeve 3 | Walter 4 | Daniel 5 | Jeremy 6 | Carmelo ... 我需要的是从表中选择,以便手动输入,例如id 5、3、6、1、4、2 SELECT * FROM talbe1 ORDER BY (5,3,6,1,4,2) 有可能吗? 谢谢 您可以使用订购方式: 您可能可以尝试以下

我有一张桌子:

table1
------------
id  |  name
------------
1   |  John
2   |  Steeve
3   |  Walter
4   |  Daniel
5   |  Jeremy
6   |  Carmelo
...
我需要的是从表中选择,以便手动输入,例如id 5、3、6、1、4、2

SELECT * FROM talbe1 ORDER BY (5,3,6,1,4,2)
有可能吗?
谢谢

您可以使用
订购方式


您可能可以尝试以下方法:

SELECT * FROM talbe1 ORDER BY FIELD(id,'5','3','6','1','4','2')

我能想到的唯一解决方案是使用另一个表将键映射到排序顺序,然后加入该表。或者,为了避免连接,添加第三列,该列仅用于排序。此序列背后的需要/逻辑是什么?给定链接中说明,
字段
返回
str1、str2、str3、
列表中
str的索引(位置)。如果未找到str,则返回0。请详细说明此查询如何使用此函数??
SELECT * FROM talbe1 ORDER BY FIELD(id,'5','3','6','1','4','2')