这个问题在这里已有答案:
按照精确的顺序在表中搜索精确元素,我该如何使用这种请求:
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
来获得结果)。
使用FIELDS如下
select * from TABLE where ID in (1, 7, 2) ORDER BY FIELD(ID, 1, 7, 2)