sql 重复记录和重复记录数

本文介绍了一种使用SQL查询表中重复记录的方法,并提供了具体的SQL语句示例。针对不同情况,如单列重复或多列组合重复,展示了如何通过子查询统计重复次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果TABLE1有两个column adress和pepole,
那么下面的SQL可以找出TABLE1里的重复记录和重复记录数

 

create table TABLE1(adress nvarchar(10),pepole nvarchar(10))
insert TABLE1 select '宁波',   '张三(NB)'
union all select '宁波',   '李四(NB)'
union all select '宁波',   '王五(NB)'
union all select '杭州',   '张三(HZ)'
union all select '杭州',   '李四(HZ)'
union all select '杭州',   '王五(HZ)'
union all select '杭州',   '王五2(HZ)'
union all select '杭州',   '王五3(HZ)'
union all select '温州',   '张三(WZ)'
union all select '温州',   '李四(WZ)'
select * from TABLE1
drop table TABLE1

----只有一列有重复的
SELECT COUNT(*) AS RowNumber,adress
FROM TABLE1 T1
WHERE
 (SELECT COUNT(*)
 FROM TABLE1 T2
 WHERE T1.adress = T2.adress )>1
GROUP BY adress

---两列有重复的
SELECT COUNT(*) AS RowNumber,adress,pepole
FROM TABLE1 T1
WHERE
 (SELECT COUNT(*)
 FROM TABLE1 T2
 WHERE T1.adress = T2.adress AND T1.pepole = T2.pepole)>1
GROUP BY adress,pepole
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值