我有2列的表格,

id  |   name
------------
1   |   abc
2   |   efg
3   |   kkk
4   |   lop
5   |   xyz


查询:

select id from name where name IN ('kkk','lop','xyz','kkk','efg');


给定结果:

2   |   efg
3   |   kkk
4   |   lop
5   |   xyz


预期结果:

id  |   name
-------------

3   |   kkk
4   |   lop
5   |   xyz
3   |   kkk
2   |   efg


有任何想法吗?

最佳答案

您可以通过以下方式进行排序:

但是您无法使用单个查询进行复制。

select id from name where name IN ('kkk','lop','xyz','kkk','efg') ORDER BY
FIELD(name,'kkk','lop','xyz','kkk','efg');


除非您必须编写联合查询才能获得预期的结果。

关于mysql - 在MySQL中以给定的顺序获取结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40627582/

10-11 03:24