sqlserver中删除重复行的方法
前段时间,公司同事不小心在数据库表中重加了数据,不多,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中删除重复行的方法相关推荐
- sql删除表中重复记录_SQL从SQL表中删除重复行的不同方法
sql删除表中重复记录 This article explains the process of performing SQL delete activity for duplicate rows f ...
- 温故知新MySQL--如何在MySQL表中删除重复行
2019独角兽企业重金招聘Python工程师标准>>> 如何在MySQL表中删除重复行 在实际应用中,会有需要删除重复数据的场景.这里简单介绍下如何删除重复的数据 1. 准备数据 C ...
- 6种在 Python 中从 List 中删除重复项的方法
来源 | https://medium.com/@cookbug/six-ways-to-remove-duplicates-from-list-in-python-970d998b1384 翻译 | ...
- 在SQL中删除重复记录(多种方法) [转]
学习sql有一段时间了,发现在我建了一个用来测试的表(没有建索引)中出现了许多的重复记录.后来总结了一些删除重复记录的方法,在Oracle中,可以通过唯一rowid实现删除重复记录:还可以建临时表来实 ...
- Python基础教程:pd.drop_duplicates删除重复行的方法
drop_duplicates 方法实现对数据框 DataFrame 去除特定列的重复行,返回 DataFrame 格式数据. 一.使用语法及参数 使用语法: DataFrame.drop_dupli ...
- sql 中删除重复数据的方法
a.删除完全重复数据 create table #t1(SN varchar(30)) insert into #t1 values('a'),('a'),('a'),('b'),('b'),('c' ...
- SQL Server删除重复行的6个方法
SQL Server删除重复行是我们最常见的操作之一,下面就为您介绍六种适合不同情况的SQL Server删除重复行的方法,供您参考. 1.如果有ID字段,就是具有唯一性的字段 delect ta ...
- java arraylist 删除回车符_2种Java删除ArrayList中的重复元素的方法
这篇文章将给出两种从ArrayList中删除重复元素的方法,分别是使用HashSet和LinkedHashSet. ArrayList是Java中最常用的集合类型之一.它允许灵活添加多个null元素, ...
- [转]六种删除数据库重复行的方法
SQL Server删除重复行是我们最常见的操作之一,下面就为您介绍六种适合不同情况的SQL Server删除重复行的方法,供您参考. 1.如果有ID字段,就是具有唯一性的字段 delect tabl ...
最新文章
- python车辆管理系统_Python简易版停车管理系统
- 公众号 关注_微信公众号关注图文跳转网页如何操作实现?
- Fragment.setArguments()
- c 调用java包_C#调用java代码(IKVMC)
- 初始化稀疏矩阵 matlab,访问稀疏矩阵
- MATLAB Simulink
- MathWorks 中国
- Spark性能优化指南:基础篇
- CSS 单行溢出文本显示省略号...的方法(兼容IE FF)(转)
- HTTP协议详细资料
- 《算法竞赛入门经典》第三章 3.4
- Nginx-1.18.0主函数main思维导图(第一版)
- XGBoost原理及在Python中使用XGBoost
- python 多线程 全局锁_python的多线程+GIL全局解释器锁+其他LOCK
- 633.平方数之和(力扣leetcode) 博主可答疑该问题
- js实现浏览器打印PDF
- 计算机演示文稿PPT知识点,计算机PowerPoint考点
- 四叶草默认启动设置方法
- 博主已出版的全部译作汇总
- 大型医院HIS系统源码 优质源码 医院管理系统源码
- Tone Mapping Correction
- centos服务器80端口被占用怎么解决,CentOS下tomcat的80端口被占用的解决办法