如何删除数据库SQL重复数据
//我们经常遇到SQL Server数据重复的问题,和大家分享一下如何删除SQL Server重复数据,SQL Server重复数据有两个意义上的重复记录,一是 完全重复的记录,即所有字段均重复的记录,二是 部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。
1、对于第一种重复,比较容易解决,使用select distinct * from tableName 就可以得到无重复记录的结果集。如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除。
select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp
发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。
2、这类重复问题通常要求保留重复记录中的第一条记录,操作方法如下。假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集。
select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
select * from #Tmp where autoID in(select autoID from #tmp2)
最后一个select即得到了Name,Address不重复的结果集(但多了一个autoID字段,实际写时可以写在select子句中省去此列)。
eg:
drop table #Tmp
select identity(int,1,1) as autoID, * into #Tmp from sheet1$
select * from #Tmp
drop table #Tmp2
select * from #Tmp2
select count(*) as lvl, max(autoID) as autoID, fdate , facct , fnumber , fname , fmodel , fnuit , fqty , fprice , faccount into #Tmp2 from #Tmp
group by fdate , facct , fnumber , fname , fmodel , fnuit , fqty , fprice , faccount
select * from #Tmp where autoID in(select autoID from #tmp2)
————————————————
如何删除数据库SQL重复数据相关推荐
- 【转】删除数据库中重复数据的几个方法
数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置-- 方法一 declare @max integer,@id integer declare cur ...
- 删除数据库中重复数据的几个方法(转)
数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置-- 方法一 declare @max integer,@id integer declare cur ...
- 删除数据库中重复数据的方法
有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略. 1.对于第一种重复,比较容易解决,使用 ...
- 删除数据库中重复数据
– max 保留新的数据 DELETE from sys_group_user where id in ( SELECT s.id from ( SELECT id from sys_group_us ...
- 查找数据库中重复数据T-SQL
查找数据库中重复数据T-SQL ========第一篇========= 在一张表中某个字段下面有重复记录,有很多方法,但是有一个方法,是比较高效的,如下语句: select data_guid fr ...
- SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)
实验名称:数据库表的基本操作与表内数据操作 实验目的: 掌握数据库表创建方法(交互式.T-SQL法) 掌握修改数据库表结构的方法 掌握删除数据库表的方法 掌握交互式EXCEL文件录入数据至数据库表的方 ...
- 高效删除Oracle数据库中重复数据,并保留最新一条的方法
在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来很多的不便,那么怎么删除这些重复没有用的数据呢? 重复数据删除技术可以提供更大的备份容量,实现更长 ...
- 查询和删除表中重复数据sql语句
查询和删除表中重复数据sql语句 (一) 1.查询表中重复数据.select * from people where peopleId in (select peopleId from pe ...
- 删除数据库中重复的数据
假设我们的一个student表,其中有元素 id.name.age. 一般我们数据库中重复数据有两种情况. 一:所以元素全部相同的情况. 对于这种情况,我们可以用下面的命令,解决. select di ...
- java删除数据库表格,《Java:数据库更新excel文件的数据同时删除数据库原来的数据》 excel表格如何删除相同数据库...
Java:数据库更新excel文件的数据同时删除数据库原来的数据 重新写入blob的byte[],就可以覆盖了....... excel表格怎么检查有重复的数据库 方/步骤 打开需要编辑的Excel表 ...
最新文章
- 设置VS2010中使用IntelliTrace来进行调试
- 计算机的u盘显示桌面,U盘图示在我的电脑显示不出?
- python数值积分_python与计算物理:实现数值积分的Simpson方法
- QT中在终端下写个小例子
- 如何在PowerPoint中插入带语法高亮的程序代码
- c++回到起点旅行商问题_不要犯同样的错,提C型房车回渝上牌长途旅行的心路历程...
- WP Rocket插件无需授权版本
- 刷新echart控件
- MathType输入框怎么调整
- IBM ThinkPad错误代码列表
- javascript 函数的变量与作用域
- Android SDK下载太慢
- ADMM之1范数理解
- 学会这120个PS小技巧,工作效率提高5倍!
- con 元器件符号_Protues 元器件符号
- OLED多级菜单记录
- 新华三:照耀城市的数字演进之路
- OneNET麒麟座应用开发之十:空气质量数据监测站项目总结
- nextjs 基于 isomorphic-unfetch 封装自己的请求库
- 流量威胁检测工具开发之路(7)
热门文章
- 数电educoder的verilog参考答案
- canvas绘画时钟
- Fortran95基础知识学习
- ffmpeg 将swf文件转 mp4
- nero linux4 序列号,nero9序列号_可以永久使用的nero9序列号
- 3Dmax和SketchUp有什么区别
- c语言万年历节日算法,万年历星期的算法(C语言)
- wpe修改充值_【图片】【WPE修改】WPE修改金币、属性、全属性、魔方实测可用版!【古戈吧】_百度贴吧...
- java 调用谷歌翻译API(直接可以使用)
- 华为交换机抓包上传至PC分析