MySQL查询“in(a,b,c)”,如何以相同的顺序返回元素(a,b然后是c)? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

按照精确的顺序在表中搜索精确元素,我该如何使用这种请求:

select * from TABLE where ID in (1, 7, 2)

按照我要求的顺序排序元素(ID = 1然后ID = 7然后ID = 2)?如下:

TABLE
ID | field1 | ...
1  | value  | ...
7  | value  | ...
2  | value  | ...

当然,所请求的顺序不是其中一个字段的自然顺序(不能用order by field来获得结果)。

mysql
1个回答
1
投票

使用FIELDS如下

select * from TABLE where ID in (1, 7, 2) ORDER BY FIELD(ID, 1, 7, 2)
© www.soinside.com 2019 - 2024. All rights reserved.