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

select * from TableNamewhere DocId in (select DocId from TableName group by DocId having count(DocId) > 1)

例二:

select * from TableNamewhere UserName in (select UserName from TableName group by TableName having count(TableName) > 1 )

可以查出表中UserName相同的记录

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

delete from TableNamewhere ColumnName in (select ColumnName from TableName group by ColumnName having count(ColumnName) > 1)and DocId not in (select min(DocId) from  TableName group by ColumnName having count(ColumnName)>1)

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

select * from TableName Twhere (T.DocId+T.ColumnName) in (select DocId+ColumnName from TableName group by DocId,ColumnName having count(*) > 1)

--前提是“DocId,ColumnName”为字符型,否则需要转换 即:convert(varchar,DocId)

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

delete from TableName Twhere (T.ColumnA+T.ColumnB) in (select ColumnA+ColumnB from TableName group by ColumnA,ColumnB having count(*) > 1)and DocId not in (select min(DocId) from TableName group by ColumnA,ColumnB having count(*)>1)

--前提是“DocId,ColumnName”为字符型,否则需要转换 即:convert(varchar,DocId)

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

select * from TableName Twhere (T.ColumnA+T.ColumnB) in (select ColumnA+ColumnB from TableName group by ColumnA,ColumnB having count(*) > 1)and DocId not in (select min(DocId) from TableName group by ColumnA,ColumnB having count(*)>1)

--前提是“DocId,ColumnName”为字符型,否则需要转换 即:convert(varchar,DocId)

转载于:https://www.cnblogs.com/isteady/archive/2012/03/11/2390353.html

SQL查询重复记录,删除重复记录相关推荐

  1. 编写一个 SQL 查询,来删除 Person表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。

    题目 编写一个 SQL 查询,来删除 Person表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小的那个. Id Email 1 john@example.com 2 bob@example.c ...

  2. 编写一个 SQL 查询,来删除 Person表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。

    题目 编写一个 SQL 查询,来删除 Person表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个. +----+------------------+ | Id | Email | + ...

  3. sql查询数据库表中重复数值

    sql查询数据库表中重复数值 -- 查询表中id重复的值 select id from 表名 group by id having count(*) > 1--查询表中的重复记录,重复记录是根据 ...

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

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

  5. SQL:查找或删除重复行

    本文讲述如何查找数据库里重复的行.这是初学者十分普遍遇到的问题.方法也很简单.这个问题还可以有其他演变,例如,如何查找"两字段重复的行"(#mysql IRC 频道最近问到的问题) ...

  6. SQL查询半年内没有违纪记录,并且期末考试总分为每个班级前10名的学生名单。(日期函数、where、group by)

    [面试题] 有三张表:"学生表"."期末成绩表"."违纪表". 查询半年内没有违纪记录,并且期末考试总分为每个班级前10名的学生名单. [解 ...

  7. mysql的sql查询IN里面有重复的值,怎么不去重查询,这是一条思路

    一.为什么要这么搞,此方法是我同事告诉我的,思路大概是:建立一个中间件(数据库表). 场景:多数情况,我们用IN查询,里面有重复值,mysql会自动过滤IN里面的重复值,造成查询的结果是小于IN里面的 ...

  8. SQL SERVER 利用ROW_NUMBER 删除重复数据

    分享一个小知识点,论坛里也常有人问这种问题,表中数据除了ID不同,其他数据一样,然后保存ID最大(或者最小)值,测试数据: --测试数据 if not object_id(N'Tempdb..#T') ...

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

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

最新文章

  1. 学python需要什么基础知识-学习Python需要知道哪些基础入门知识?
  2. 成功解决AttributeError: module ‘tensorflow‘ has no attribute ‘placeholder‘
  3. 基于matlab的数字下变频器的设计与仿真应用,基于MATLAB的数字下变频器的设计与仿真应用.pdf...
  4. 删除目录文件html代码,ASP创建目录、删除目录,删除文件代码范例
  5. 【论文学习】Densely Connected Convolutional Networks 学习
  6. c# 找出目录下的所有子目录_Linux技巧:ls命令只列出子目录名和每行打印一个文件名
  7. mysql 邻接表_图的邻接表存储结构详解
  8. ad系统安装配置指南(java-jndi-ldap),AD系统安装配置指南(JAVA-JNDI-LDAP-Exchange)
  9. SketchUp Pro 2018 for Mac(草图大师)免激活注册版
  10. 毕业同学录网站搭建源码分享
  11. 计算机程序框图符号,数据流程图符号详解
  12. js引擎渲染php,主流浏览器内核及JS引擎
  13. unicloud云开发---uniapp云开发(一)---服务空间创建以及部署一个云函数
  14. 数学建模 预测方法集锦
  15. 尼康d850相机参数测试软件,新功能介绍二:景深合成与自动调焦_尼康 D850_数码影像评测-中关村在线...
  16. 文档服务器加密,远程文件服务器文件加密攻略(一)
  17. Linux版csgo调全屏窗口,csgo全屏和全屏窗口 哔哩哔哩直播姬黑屏解决方法
  18. 英文不好到底能不能学会编程?
  19. React Native Android随笔日记
  20. 快手引流卖什么暴利?很多人现在都觉得在各大平台引流很难

热门文章

  1. Android CardView的基本使用
  2. [TJOI2017]异或和
  3. this--学习笔记
  4. Android官方技术文档翻译——ApplicationId 与 PackageName
  5. 一个简单的Ajax实例
  6. main函数argc,argv操作
  7. 获得创建临时表的session id
  8. [转] ASP.NET中使用javascript
  9. css3实现带有简单动画按钮导航
  10. 动手学深度学习(PyTorch实现)(一)--线性回归