MySql select查询表中重复记录的SQL

数据重复可以表现为某几个字段重复,也可以表示为全部字段都重复了(没有主键的情况下)

查询某一字段的重复项:
select user_name,count(*) as count from user group by user_name having count>1;

查询多个字段字段的重复项:
select * from user t where (t.id,t.`name`,t.age) in (select a.id,a.`name`,a.age from user a group by a.id,a.`name`,a.age having count(*) > 1)

当数据量大的时候建议时间join(尽量少用in like '%'):
select * from user inner join (select id,`name` from user group by id,`name` having count(*)>1) as tab2 using (id,`name`);



转载于:https://www.cnblogs.com/molao-doing/articles/8856348.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值