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);