MYSQL - 使用IN运算符返回查询中的所有行

时间:2018-06-18 10:22:38

标签: mysql sql

我正在尝试进行此查询:

SELECT * FROM Example WHERE id IN (1, 4 ,53 ,53, 95, 12, 54, 54)

我希望从示例中获得8个值,但我只获得6个值,因为ID 53和ID 54重复。有没有办法为每个ID获取一个值?

2 个答案:

答案 0 :(得分:1)

您需要使用left join。类似的东西:

select e.*
from (select 1 as id union all select 4 union all select 53 union all select 53 union all
      select 95 union all select 12 union all select 54 union all select 54
     ) i left join
     example e
     on i.id = e.id;

答案 1 :(得分:0)

正如您所说,IN子句中的重复值将被忽略。我用javascript解决了我的问题。