SQLServer删除表中重复记录
sqlserver删除表中的重复数据
- SqlServer删除表中重复记录
转载链接:https://www.bbsmax.com/A/1O5Ee12G57/
SqlServer删除表中重复记录
重复记录:有两个意义上的重复记录
一是完全重复的记录,也即所有字段均重复的记录;
二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。
1、对于第一种重复,比较容易解决,使用
select distinct * from tableName
就可以得到无重复记录的结果集。
如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除
--查询无重复记录的结果集,并将结果集保存到临时表#Tmpselect distinct * into #Tmp from tableName--删除表tableNamedrop table tableName--将临时表#Tmp数据全部插入表tableNameselect * into tableName from #Tmp--删除临时表drop table #Tmp
发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。
2、这类重复问题通常要求保留重复记录中的第一条记录,操作方法如下
假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集
--将tableName中的全部记录插入临时表#Tmp,并增加行号字段select identity(int,1,1) as autoID, * into #Tmp from tableName--将临时表#Tmp中的无重复记录插入临时表#Tmp2(min(autoID)....group by Name,autoID-实现保留Name重复的记录中的第一条)select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
最后一个select即得到了Name,Address不重复的结果集(但多了一个autoID字段,实际写时可以写在select子句中省去此列)
通过上面操作并将tableName中无重复的结果集保存到了临时表#Tmp2,可以通过删除表tableName,然后再将临时表#Tmp2记录插入tableName实现删除
tableName中重复的记录(只保留重复记录的第一条记录)
注意:tableName中没有autoID字段,可以select去除autoID字段实现
SQLServer删除表中重复记录相关推荐
- sql删除表中重复记录_SQL从SQL表中删除重复行的不同方法
sql删除表中重复记录 This article explains the process of performing SQL delete activity for duplicate rows f ...
- [转]删除表中重复记录
我们可能会出现这种情况,某个表原来设计不周全,导致表里面的数据数据重复,那么,如何对重复的数据进行删除呢? 重复的数据可能有这样两种情况,第一种时表中只有某些字段一样,第二种是两行记录完全一样. 一. ...
- oracle 删除表中重复记录,并保留一条
1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group byId having cou ...
- mysql重复数据只取一条数据_My sql 中删除表中重复记录?只保留一条
匿名用户 1级 2018-08-20 回答 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 sel ...
- Oracle如何删除表中重复记录
1 引言 在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来读诸多不便,那么怎么删除这些重复没有用的数据呢? 平时工作中可能会遇到当试图对库表中的 ...
- sqlserver 删除表中重复的数据
--在删除之前可以先查看一下结果: SELECT max(主键ID),列1,列2...列n FROM [TABLE表] group by 列1,列2...列n--删除重复的数据,保留主键最大的那条数据 ...
- 查询和删除表中重复数据sql语句
查询和删除表中重复数据sql语句 (一) 1.查询表中重复数据.select * from people where peopleId in (select peopleId from pe ...
- MySql删除表中重复数据
有一表中存在大量重复数据 在此记录下我删除表内重复数据的方法 -- 新增测试表 create table basic_farmer ( id INT(11), user_name VARCHAR(25 ...
- 如何删除表中重复的wid
select yhbh,count(wid) from ZC_YH group by yhbh having count(wid)>1; delete from zc_yh where wid ...
最新文章
- android 自定义dialog 定时关闭,Android编程实现自定义Dialog的大小自动控制方法示例...
- 编程开发之--java多线程学习总结(5)
- 父母已身作则,静待花开
- java中super关键字_Java中关键字super与this的区别
- CODEVS-2018-反病毒软件-线段树
- Python3的bytes/str之别
- 教程-上传应用公钥并获取支付宝公钥
- 【chorme插件开发】第一节:chrome内核浏览器插件开发的说明
- pv,svogi,vxgi,各自的优缺点在哪,ue4还有可能把svogi加进去吗
- dense sift matlab,一个 Dense SIFT 算法的 matlab 实现 | 学步园
- nginx+双tomcat集群负载均衡(一台机器)
- 阿里文娱搜索排序算法实践和思考(附交流视频和PPT下载链接)
- AI 脑补宋明清皇帝长相,四大模型构想真实五官
- 计算机毕业设计ssm火车站售票管理系统
- matlab里面fig文件坐标轴名称单位,MATLAB如何提取fig文件中的xyz坐标值
- Python 实现Mac 屏幕截图
- openpyxl,重写Worksheet
- elasticsearch-8.0.0报错总结(ES)-持续更新
- 手机软件开发入门 [转]
- HTTP RPC Dubbo hsf Spring-cloud 图解比较