在mysql中获取给定顺序的结果

时间:2016-11-16 08:49:18

标签: mysql

我有一个包含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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以这样排序:

但你不能用单一查询复制。

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

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