如何在数组输入时从mysql查询中获取重复值?

如何在数组输入时从mysql查询中获取重复值?,mysql,sql,Mysql,Sql,我有一个查询,我给它一个项目列表作为输入,项目列表包含重复的值 select * from ITEM where ITEM_NUMBER in ('15','41', '15','41'); 结果输出包含2行,其中 第15项 及 41 我需要一个查询,返回4行重复值。这是使用join的一个选项: select * from ITEM where ITEM_NUMBER in ('15','41', '15','41'); select * from items a join (selec

我有一个查询,我给它一个项目列表作为输入,项目列表包含重复的值

select * from ITEM  where ITEM_NUMBER in ('15','41', '15','41');
结果输出包含2行,其中

第15项

41


我需要一个查询,返回4行重复值。

这是使用join的一个选项:

select * from ITEM  where ITEM_NUMBER in ('15','41', '15','41');
select *
from items a
join (select item_number
      from items  
      group by  item_number
      having count(*) > 1) b
on a.item_number = b.item_number;
根据本链接中的答案改编:
这里有一个使用UNION和TOP的解决方案

select * from 
(select top 2 * from item where item_number=15) 
union all select * from 
(select top 2 * from item where item_number=41);

使用
左联接
而不是中的
。使用set集合存储值。然后迭代集合创建查询文本