广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中查询、删除重复记录的方法大全
  • 131
分享到

MySQL中查询、删除重复记录的方法大全

MySQL查询删除 2022-08-10 11:08:34 131人浏览 佚名
摘要

前言本文主要给大家介绍了关于Mysql中查询、删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍:查找所有重复标题的记录:select title,count(*) as count&n

前言

本文主要给大家介绍了关于Mysql中查询、删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍:

查找所有重复标题的记录:

select title,count(*) as count from user_table group by title having count>1;
SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC

一、查找重复记录

1、查找全部重复记录

SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC

2、过滤重复记录(只显示一条)

Select * From HZT Where ID In (Select Max(ID) From HZT Group By Title)

注:此处显示ID最大一条记录

二、删除重复记录

1、删除全部重复记录(慎用)

Delete 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)

2、保留一条(这个应该是大多数人所需要的 _)

Delete HZT Where ID Not In (Select Max(ID) From HZT Group By Title)

**注:**此处保留ID最大一条记录

三、举例

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录

delete from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)

3、查找表中多余的重复记录(多个字段)

select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录

delete from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录

select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

四、补充

有两个以上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。

1、对于第一种重复,比较容易解决,使用

select distinct * from tableName

就可以得到无重复记录的结果集。

如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除

select distinct * into #Tmp from tableName 
drop table tableName 
select * into tableName from #Tmp 
drop table #Tmp

发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。

2、这类重复问题通常要求保留重复记录中的第一条记录,操作方法如下假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集

select identity(int,1,1) as autoID, * into #Tmp from tableName 
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID 
select * from #Tmp where autoID in(select autoID from #tmp2)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助



您可能感兴趣的文档:

--结束END--

本文标题: MySQL中查询、删除重复记录的方法大全

本文链接: https://www.lsjlt.com/news/33630.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL中查询、删除重复记录的方法大全
      前言 本文主要给大家介绍了关于MySQL中查询、删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍: 查找所有重复标题的记录: 1 select title,count(*) as cou...
    99+
    2018-05-22
    MySQL中查询 删除重复记录的方法大全
  • MySQL中查询、删除重复记录的方法大全
    前言本文主要给大家介绍了关于MySQL中查询、删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍:查找所有重复标题的记录:select title,count(*) as count&n...
    99+
    2022-08-10
    MySQL 查询 删除
  • MySQL如何查询和删除重复记录
    这篇文章运用简单易懂的例子给大家介绍MySQL如何查询和删除重复记录,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。查找所有重复标题的记录:select title,count...
    99+
    2022-10-18
  • mysql中删除重复记录的方法
    这篇文章主要讲解了“mysql中删除重复记录的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中删除重复记录的方法”吧! ...
    99+
    2022-10-18
  • mysql删除数据库中重复记录的方法
    这篇文章给大家分享的是有关mysql删除数据库中重复记录的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。mysql删除数据库中重复记录的步骤:1、统计重复数据;2、使用“SE...
    99+
    2022-10-18
  • MySQL中怎么删除重复的记录
    MySQL中怎么删除重复的记录,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、查找全部重复记录select * ...
    99+
    2022-10-18
  • mysql去除重复查询的方法
    小编给大家分享一下mysql去除重复查询的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql去除重复查询的方法:1、使...
    99+
    2022-10-18
  • MySQL 如何查找并删除重复记录的实现
    大家好,我是只谈技术不剪发的 Tony 老师。由于一些历史原因或者误操作,可能会导致数据表中存在重复的记录;今天我们就来谈谈如何查找 MySQL 表中的重复数据以及如何删除这些重复的记录。 创建示例表 首先创建一个示...
    99+
    2022-05-11
    MySQL 查找重复记录 MySQL 删除重复记录
  • 【探索】两种查询和删除重复记录的方法及其性能比较
    这里我来给出两种查询和删除重复记录的方法,一种是使用rowid辅助完成的,另外一种是借助分析函数的力量来完成的。这两种方法的执行效率相对其他方法是高效的。即便如此,这两种方法之间也有着本质上的性能区别,我将通过实验的方式给大家展示一下这两种...
    99+
    2023-06-06
  • MySQL大表中重复字段的查询方法
    本篇内容主要讲解“MySQL大表中重复字段的查询方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL大表中重复字段的查询方法”吧!SELECT&...
    99+
    2022-10-18
  • 如何删除MySQL表中的所有重复记录?
    要从表中删除重复记录,我们可以使用 DELETE 命令。现在让我们创建一个表。 mysql> create table DuplicateDeleteDemo -> ( -> id int, -...
    99+
    2023-10-22
  • mysql表中删除重复记录,只保留一条记录的操作
    mysql表中两个字段重复记录,只保留一条记录的操作 例如有一张学生表 其中name 和 class 相同的视为重复记录,需要保留一条记录,删除重复记录, 两种操作方式如下: 方法一: group ...
    99+
    2023-09-27
    mysql 数据库
  • mysql删除重复记录并且只保留一条的实现方法
    准备的测试表结构及数据 插入的数据中A,B,E存在重复数据,C没有重复记录 CREATE TABLE `tab` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` va...
    99+
    2023-01-04
    mysql删除重复记录 mysql删除记录
  • 在 MySQL 数据库中删除重复记录的步骤
    在 MySQL 数据库中删除重复记录的步骤 当我们在处理数据库中的数据时,有时候会出现重复记录的情况,这些重复记录会影响数据的正确性,需要将其删除。下面是在 MySQL 数据库中删除重复记录的步骤: 1. 查找重复记录 首先,我们需要...
    99+
    2023-09-01
    数据库 mysql sql java 开发语言
  • mysql查找删除表中重复数据方法总结
    在数据库表里,我们有时候会保存了很多重复的数据,这些重复的数据浪费资源,我们要将其删除掉,应该怎么处理呢?下面来看一下。 先看下我们的表数据,有一些数据是重复的。 要查找重复数据,我们可以使用mysql里...
    99+
    2022-10-18
  • 记录MySQL中优化sql语句查询常用的30种方法
    对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。3.应尽量避免...
    99+
    2014-05-10
    记录MySQL中优化sql语句查询常用的30种方法
  • 有效查询MySQL表中重复数据的方法和技巧分享
    目录方法一:使用COUNT()函数查询重复行方法二:使用DISTINCT关键字查询重复行方法三:使用自连接查询结论方法一:使用COUNT()函数查询重复行 COUNT()函数是mysql中常用的聚合函数之一,它可以用于计...
    99+
    2023-10-12
    有效查询MySQL表中重复数据 查询MySQL重复数据 MySQL重复数据
  • 自己动手丰衣足食,夜谈MySQL数据库去除重复记录最快的方法
    mysql数据库重复插入了一些数据,想删除保留一条,查找了很多方案,类似这种以及这种的 初试了一下,感觉可能达到效果,但是速度太慢了,几十上百条数据还可以,几十上百万条,mysql.exe 进程基本上就跑...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作