MySQL 跟ORACLE持多字段的IN 和 NOT IN
SELECT * FROM 表名 a
WHERE (a.重複字段1,a.重複字段2,a.重複字段3) IN (SELECT 重複字段1,重複字段2,重複字段3 FROM 表名 GROUP BY 重複字段1,重複字段2,重複字段3 HAVING COUNT(*) > 1)
但SQL SERVER 不支持多字段的IN 和 NOT IN,幸好有可替代方案
--單字段查表內重複值
select * from a where 重複字段 in(select 重複字段 from a group by 重複字段 having COUNT(*)>1 )
order by 重複字段 DESC
--多字段查表內重複值
select * from a where exists(
select 1 from (select 重複字段1,重複字段2 from a group by 重複字段1,重複字段2 having
COUNT(*)>1)b where a.重複字段1 = b.重複字段1 and b.重複字段2 = a.重複字段2);