MySQL数据库中怎么查找删除重复行
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章给大家介绍MySQL数据库中怎么查找删除重复行,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。当你对b字段排序(分组),相同值的c被分到不同的组,因此不能用COUNT(DI
千家信息网最后更新 2025年01月19日MySQL数据库中怎么查找删除重复行
这篇文章给大家介绍MySQL数据库中怎么查找删除重复行,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
当你对b字段排序(分组),相同值的c被分到不同的组,因此不能用COUNT(DISTINCT c)来计算大小。COUNT()之类的内部函数只作用于同一个分组,对于不同分组的行就无能为力了。类似,如果排序的是c字段,相同值的b也会分到不同的组,无论如何是不能达到我们的目的的。
几种正确的方法
也许最简单的方法是分别对某个字段查找重复行,然后用UNION拼在一起,像这样:
select b as value, count(*) as cnt, 'b' as what_col from a_b_c group by b having count(*) > 1 union select c as value, count(*) as cnt, 'c' as what_col from a_b_c group by c having count(*) > 1; +-------+-----+----------+ | value | cnt | what_col | +-------+-----+----------+ | 1 | 3 | b | | 2 | 3 | b | | 3 | 3 | b | | 1 | 3 | c | | 2 | 3 | c | | 3 | 3 | c | +-------+-----+----------+
输出what_col字段为了提示重复的是哪个字段。另一个办法是使用嵌套查询:
select a, b, c from a_b_c where b in (select b from a_b_c group by b having count(*) > 1) or c in (select c from a_b_c group by c having count(*) > 1); +----+------+------+ | a | b | c | +----+------+------+ | 7 | 1 | 1 | | 8 | 1 | 2 | | 9 | 1 | 3 | | 10 | 2 | 1 | | 11 | 2 | 2 | | 12 | 2 | 3 | | 13 | 3 | 1 | | 14 | 3 | 2 | | 15 | 3 | 3 | +----+------+------+
这种方法的效率要比使用UNION低许多,并且显示每一重复的行,而不是重复的字段值。还有一种方法,将自己跟group的嵌套查询结果联表查询。写法比较复杂,但对于复杂的数据或者对效率有较高要求的情况,是很有必要的。
select a, a_b_c.b, a_b_c.c from a_b_c left outer join ( select b from a_b_c group by b having count(*) > 1 ) as b on a_b_c.b = b.b left outer join ( select c from a_b_c group by c having count(*) > 1 ) as c on a_b_c.c = c.c where b.b is not null or c.c is not null
关于MySQL数据库中怎么查找删除重复行就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
字段
方法
数据
不同
分组
查询
数据库
复杂
相同
内容
效率
更多
b.b
c.c
帮助
排序
不错
无能
必要
无能为力
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
交友软件开发大概要多少钱
计算机网络技术管理是什么
网易版服务器怎样加模组
如何启动msf的数据库
网络安全示范点
政府采购网 服务器
php是怎样连接数据库
整个页面插入图片数据库
单位网络安全结构
校园网络安全检查工作总结报告
山东职教高考网络技术练习题
造价指标数据库建设工作方案
oracle数据库ji l
信息管理计算机数据库技术应用
哪一个是网络安全法的亮点
scum服务器能存档吗
网络安全实验室解密题1
阿里云的服务器怎么管理
电子网络技术是什么
网络安全事故检讨反思
洛星花雨服务器
简述数据库数据库系统的概念
怎么往服务器发数据
如何管理dhcp服务器
融合通信平台网络安全
数据库怎么校验
科学数据库
捕鱼软件开发公司番禺
网络安全攻防保卫战
宝鸡凤县电信dns服务器地址