MOYUN(/Java/SQL/Linux/DevOps/运维/架构/管理/敏捷/开发)

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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

查询某一字段的重复项:
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`);



posted on 2018-04-16 16:00  moyun-  阅读(341)  评论(0编辑  收藏  举报