首页 > 解决方案 > 列表中具有重复值的 SQL 查询

问题描述

如何正确编写查询以获取没有唯一性的数据?

我有 id 列表,其中 id 重复。

示例:(1,1,1,2,3)

select * 
from table 
where id in (1,1,1,2,3);

仅返回 (1,2,3)。

但我需要重复输入。

标签: mysqlsql

解决方案


使用派生表和left join

select t.*
from (select 1 as id union all select 1 union all select 1 union all select 2 union all select 3
     ) i left join
     t
     on t.id = i.id

派生表的语法可能因数据库而异,但大多数都支持上述语法。


推荐阅读