前段时间,公司同事不小心在数据库表中重加了数据,不多,7000条左右。因为信息比较重要,不能删错了。但也不能有重复数据。所以找我求救。

解决问题后,总结如下:

SQL Server删除重复行是我们最常见的操作之一,下面就为您介绍六种适合不同情况的SQL Server删除重复行的方法,供您参考。

1.如果有ID字段,就是具有唯一性的字段

delect   table   where   id   not   in   (     
 
select   max(id)   from   table   group   by   col1,col2,col3...     
)     
group   by   子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。

2. 如果是判断所有字段也可以这样

select   *   into   #aa   from   table   group   by   id1,id2,....     
delete   table       
insert   into   table       
select   *   from   #aa    
3. 没有ID的情况

select   identity(int,1,1)   as   id,*   into   #temp   from   tabel     
delect   #   where   id   not   in   (     
select   max(id)   from   #   group   by   col1,col2,col3...)     
delect   table     
inset   into   table(...)     
select   .....   from   #temp    
4. col1+','+col2+','...col5 联合主键

select   *   from     table   where   col1+','+col2+','...col5   in   (     
select   max(col1+','+col2+','...col5)   from   table       
where   having   count(*)>1     
group   by   col1,col2,col3,col4       
)    
group   by   子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。

5.

select   identity(int,1,1)   as   id,*   into   #temp   from   tabel     
select   *   from     #temp   where   id   in   (     
select   max(id)   from   #emp   where   having   count(*)>1   group   by   col1,col2,col3...)    
6.

select   distinct   *   into   #temp   from   tablename       
delete   tablename       
go     
insert   tablename   select   *   from   #temp   Sqlclub   
go     
drop   table   #temp  
以上就是SQL Server删除重复行的方法介绍。

sqlserver中删除重复行的方法相关推荐

  1. sql删除表中重复记录_SQL从SQL表中删除重复行的不同方法

    sql删除表中重复记录 This article explains the process of performing SQL delete activity for duplicate rows f ...

  2. 温故知新MySQL--如何在MySQL表中删除重复行

    2019独角兽企业重金招聘Python工程师标准>>> 如何在MySQL表中删除重复行 在实际应用中,会有需要删除重复数据的场景.这里简单介绍下如何删除重复的数据 1. 准备数据 C ...

  3. 6种在 Python 中从 List 中删除重复项的方法

    来源 | https://medium.com/@cookbug/six-ways-to-remove-duplicates-from-list-in-python-970d998b1384 翻译 | ...

  4. 在SQL中删除重复记录(多种方法) [转]

    学习sql有一段时间了,发现在我建了一个用来测试的表(没有建索引)中出现了许多的重复记录.后来总结了一些删除重复记录的方法,在Oracle中,可以通过唯一rowid实现删除重复记录:还可以建临时表来实 ...

  5. Python基础教程:pd.drop_duplicates删除重复行的方法

    drop_duplicates 方法实现对数据框 DataFrame 去除特定列的重复行,返回 DataFrame 格式数据. 一.使用语法及参数 使用语法: DataFrame.drop_dupli ...

  6. sql 中删除重复数据的方法

    a.删除完全重复数据 create table #t1(SN varchar(30)) insert into #t1 values('a'),('a'),('a'),('b'),('b'),('c' ...

  7. SQL Server删除重复行的6个方法

    SQL Server删除重复行是我们最常见的操作之一,下面就为您介绍六种适合不同情况的SQL Server删除重复行的方法,供您参考. 1.如果有ID字段,就是具有唯一性的字段 delect   ta ...

  8. java arraylist 删除回车符_2种Java删除ArrayList中的重复元素的方法

    这篇文章将给出两种从ArrayList中删除重复元素的方法,分别是使用HashSet和LinkedHashSet. ArrayList是Java中最常用的集合类型之一.它允许灵活添加多个null元素, ...

  9. [转]六种删除数据库重复行的方法

    SQL Server删除重复行是我们最常见的操作之一,下面就为您介绍六种适合不同情况的SQL Server删除重复行的方法,供您参考. 1.如果有ID字段,就是具有唯一性的字段 delect tabl ...

最新文章

  1. python车辆管理系统_Python简易版停车管理系统
  2. 公众号 关注_微信公众号关注图文跳转网页如何操作实现?
  3. Fragment.setArguments()
  4. c 调用java包_C#调用java代码(IKVMC)
  5. 初始化稀疏矩阵 matlab,访问稀疏矩阵 - MATLAB Simulink - MathWorks 中国
  6. Spark性能优化指南:基础篇
  7. CSS 单行溢出文本显示省略号...的方法(兼容IE FF)(转)
  8. HTTP协议详细资料
  9. 《算法竞赛入门经典》第三章 3.4
  10. Nginx-1.18.0主函数main思维导图(第一版)
  11. XGBoost原理及在Python中使用XGBoost
  12. python 多线程 全局锁_python的多线程+GIL全局解释器锁+其他LOCK
  13. 633.平方数之和(力扣leetcode) 博主可答疑该问题
  14. js实现浏览器打印PDF
  15. 计算机演示文稿PPT知识点,计算机PowerPoint考点
  16. 四叶草默认启动设置方法
  17. 博主已出版的全部译作汇总
  18. 大型医院HIS系统源码 优质源码 医院管理系统源码
  19. Tone Mapping Correction
  20. centos服务器80端口被占用怎么解决,CentOS下tomcat的80端口被占用的解决办法

热门文章

  1. 简单几步教你去除开机出现扫描硬盘!
  2. 使用Spinner和setDropDownViewResource
  3. 内存泄露检测工具之DMalloc
  4. Web 设计:实现干净代码的12条定律
  5. 一张A4纸的牛B变化(你能吗?)
  6. Problem B: 故障电灯(light)
  7. 5月16 JSON的一些知识点及AJAX的应用
  8. 手把手实现YOLOv3(一)
  9. 吴恩达 coursera AI 专项五第三课(下)总结+作业答案
  10. GPS nmealib学习笔记