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

发布时间 - 2026-01-11 01:58:14    点击率:

前言

本文主要给大家介绍了关于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)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# mysql删除重复记录  # mysql  # 查询重复记录  # 删除重复的记录  # 解析mysql中:单表distinct、多表group by查询去除重复记录  # mysql insert if not exists防止插入重复记录的方法  # mysql删除重复记录语句的方法  # mysql 数据表中查找重复记录  # 使用mysql的disctinct group by查询不重复记录  # 使用distinct在mysql中查询多条不重复记录值的解决办法  # MySQL避免插入重复记录的方法  # 多个  # 一是  # 这两个  # 这类  # 给大家  # 来看看  # 只显示  # 这篇文章  # 谢谢大家  # 第一条  # 大多数人  # 所需要  # 比较容易  # 第一种  # 就可以  # 操作方法  # 不包含  # 也即  # 应该是  # 有两个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 香港网站服务器数量如何影响SEO优化效果?  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  JavaScript数据类型有哪些_如何准确判断一个变量的类型  用yum安装MySQLdb模块的步骤方法  如何用搬瓦工VPS快速搭建个人网站?  Laravel如何使用withoutEvents方法临时禁用模型事件  HTML 中动态设置元素 name 属性的正确语法详解  无锡营销型网站制作公司,无锡网选车牌流程?  Python文本处理实践_日志清洗解析【指导】  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何基于PHP生成高效IDC网络公司建站源码?  LinuxShell函数封装方法_脚本复用设计思路【教程】  UC浏览器如何设置启动页 UC浏览器启动页设置方法  佛山企业网站制作公司有哪些,沟通100网上服务官网?  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  大连网站制作公司哪家好一点,大连买房网站哪个好?  Laravel如何使用Blade模板引擎?(完整语法和示例)  Laravel如何与Pusher实现实时通信?(WebSocket示例)  phpredis提高消息队列的实时性方法(推荐)  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  大连 网站制作,大连天途有线官网?  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  ,在苏州找工作,上哪个网站比较好?  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  Laravel如何生成API文档?(Swagger/OpenAPI教程)  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  详解Android中Activity的四大启动模式实验简述  Laravel如何实现API资源集合?(Resource Collection教程)  JavaScript如何操作视频_媒体API怎么控制播放  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  Laravel Docker环境搭建教程_Laravel Sail使用指南  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  如何构建满足综合性能需求的优质建站方案?  常州企业网站制作公司,全国继续教育网怎么登录?  怎么用AI帮你为初创公司进行市场定位分析?  Laravel如何配置和使用缓存?(Redis代码示例)  Laravel怎么判断请求类型_Laravel Request isMethod用法  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  如何快速完成中国万网建站详细流程?  进行网站优化必须要坚持的四大原则  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  如何实现javascript表单验证_正则表达式有哪些实用技巧  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解