有没有办法在MySQL查询中包含重复项:select..from..where..id in(list)

pra*_*rat 5 mysql sql duplicates

我试图获取查询类型的结果

SELECT * FROM table WHERE id IN(2,4,6,1,1,2) ORDER BY field (id,2,4,6,1,1,2)
Run Code Online (Sandbox Code Playgroud)

我想以与列表相同的顺序获得结果,包括:重复项.上面的查询保留了订单但删除了重复.我知道我可以对结果进行后期处理,但只是想知道是否有更简单的方法.

谢谢

Ric*_*iwi 4

这实际上会实现你想要的:

SELECT * FROM table
inner join (
   select 1 as sort, 2 as value union all
   select 2, 4 union all
   select 3, 6 union all
   select 4, 1 union all
   select 5, 1 union all
   select 6, 2) X on X.value=table.id
ORDER BY X.sort
Run Code Online (Sandbox Code Playgroud)