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

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

一、查找重复记录

1、查找全部重复记录

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

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条),可以按以下方法删除

  1. select distinct * into #Tmp from tableName

  2. drop table tableName

  3. select * into tableName from #Tmp

  4. drop table #Tmp

发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。
2、这类重复问题通常要求保留重复记录中的第一条记录,操作方法如下
假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集

  1. select identity(int,1,1) as autoID, * into #Tmp from tableName

  2. select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID

  3. select * from #Tmp where autoID in(select autoID from #tmp2)

MySQL之——查询重复记录、删除重复记录方法大全相关推荐

  1. MySQL查看、创建和删除索引的方法

    本文实例讲述了MySQL查看.创建和删除索引的方法.分享给大家供大家参考.具体如下: 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别 ...

  2. pythonmysql查询转list_使用Python将Mysql的查询数据导出到文件的方法

    mysql官方提供了很多种connector,其中包括python的connector. 下载地址在:http://dev.mysql.com/downloads/connector/python/ ...

  3. mysql 增删改查时的错误解决方法大全

    mysql 增删改查时的错误解决方法大全     信息1:Error: Access denied for user: 'linanma@localhost' (Using password: YES ...

  4. SQL查询重复记录,删除重复记录

    1.查找表中多余的重复记录,重复记录是根据单个字段(DocId)来判断 select * from TableNamewhere DocId in (select DocId from TableNa ...

  5. 记录删除重复数据保留最早一条的sql

    业务规则是以手机号来确定同一个用户,正常来说系统里面同一手机号只能存在一个用户.在做新系统存量用户数据迁移的时候,发现数据存在重复. 判断最早注册的用户信息是有效的,不正常添加的重复数据不可靠需要删除 ...

  6. mysql 如何删除重复的行_如何从mysql中的表中删除重复的行

    我需要从 mysql中删除表中的重复记录. 所以我有一个表名"employee"字段是empid,empname,empssn 为了获得重复记录我写了一个查询 SELECT COU ...

  7. mysql 4.0 删除重复_mysql删除重复数据

    最近遇到删除重复数据的问题,先分享一下解决办法,如有不完善之处还望包涵! 举例如下: mysql> select * from table03; +----+------+--------+ | ...

  8. mysql query 查询失败_如何在mysql进行查询缓存及失败的解决方法

    都知道函数在使用前需要弄清楚参数的属性,这样才能对函数的使用有较好的了解.有些小伙伴学习了查询缓存后,直接进行了下一步的实战操作.这里小编想提醒大家,开始操作之前一定要先设置参数,不然就会出现问题.下 ...

  9. Mysql 分组查询取max 那条记录其他字段

    需求描述: 现有有需求要按类型分组,查询出每一分组最近的一条记录,返回字段包含id,定时任务执行时间(start_time)和任务id(job_id). SELECT id, MAX(start_ti ...

  10. Mysql实现查询一年内的考勤记录(行转列)

    1.首先现在的数据查出来是这样的一个人对应的是其中一个月的信息 2.现在我们想要实现的效果是一个人对应好几个月的记录,也就是下边的效果 3.其实这种效果就是MySql的行转列,代码如下 SELECT ...

最新文章

  1. asp vb 插入,更新,删除数据库操作。
  2. r语言 回归分析 分类变量_R语言下的PSM分析分类变量处理与分析步骤
  3. 关于vue外卖项目的一些总结
  4. 报表中表达式的全局集合(Visual Studio 报表设计器)
  5. JAVA 注解示例 详解
  6. 利用SPA(SQL Performance Analyzer)对比两个SQL Tuning Set
  7. 前端 后端 MD5加盐
  8. ArcGIS不同坡度植被覆盖率分析步骤
  9. 2021年茶艺师(中级)考试技巧及茶艺师(中级)作业考试题库
  10. Mac mini 2018 win10 外接显卡终极教程
  11. c语言的源程序一行可以书写多个语句,C语言 选择题(最全版)
  12. SIM7600 4G at指令调试
  13. CFileDialog 参数及返回值
  14. 关于学术文献推荐系统的调研报告
  15. 类之间的继承java,Java类与类之间的继承关系
  16. 泰勒展开:一阶,二阶
  17. 扦插技术图解_桂花的扦插方法(图解)
  18. 浏览器和服务器的交互过程
  19. JS学习笔记13-操作内联样式
  20. java毕业设计在线教学质量评价系统Mybatis+系统+数据库+调试部署

热门文章

  1. 块级元素文字垂直居中
  2. 2014/05/01 Android 各个版本, 屏幕尺寸, open GL 等 市场占有率
  3. 去除html标签 linux,HTML5新增的标签和废除的标签
  4. 机床数据采集之马扎克(Mazak)Smart CNC IP地址设置
  5. php滚动文字设置,视频底部加滚动字幕 设置一段文字从右往左缓缓滚动 其中某几个字设置红色字体的方法...
  6. RERAN:安卓系统的定时和点击的录制和回放——(4)
  7. javafx 图表css,如何在CSS中的第7个系列之上更改javaFX LineChart中的图标?
  8. QQ邮箱第三方POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务授权码
  9. virsh查看/管理虚拟机
  10. 抖音释放实名,身份证方法