//我们经常遇到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重复数据相关推荐

  1. 【转】删除数据库中重复数据的几个方法

    数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置-- 方法一 declare @max integer,@id integer declare cur ...

  2. 删除数据库中重复数据的几个方法(转)

    数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置-- 方法一 declare @max integer,@id integer declare cur ...

  3. 删除数据库中重复数据的方法

    有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略. 1.对于第一种重复,比较容易解决,使用 ...

  4. 删除数据库中重复数据

    – max 保留新的数据 DELETE from sys_group_user where id in ( SELECT s.id from ( SELECT id from sys_group_us ...

  5. 查找数据库中重复数据T-SQL

    查找数据库中重复数据T-SQL ========第一篇========= 在一张表中某个字段下面有重复记录,有很多方法,但是有一个方法,是比较高效的,如下语句: select data_guid fr ...

  6. SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)

    实验名称:数据库表的基本操作与表内数据操作 实验目的: 掌握数据库表创建方法(交互式.T-SQL法) 掌握修改数据库表结构的方法 掌握删除数据库表的方法 掌握交互式EXCEL文件录入数据至数据库表的方 ...

  7. 高效删除Oracle数据库中重复数据,并保留最新一条的方法

    在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来很多的不便,那么怎么删除这些重复没有用的数据呢? 重复数据删除技术可以提供更大的备份容量,实现更长 ...

  8. 查询和删除表中重复数据sql语句

    查询和删除表中重复数据sql语句 (一) 1.查询表中重复数据.select * from people where peopleId in (select   peopleId  from   pe ...

  9. 删除数据库中重复的数据

    假设我们的一个student表,其中有元素 id.name.age. 一般我们数据库中重复数据有两种情况. 一:所以元素全部相同的情况. 对于这种情况,我们可以用下面的命令,解决. select di ...

  10. java删除数据库表格,《Java:数据库更新excel文件的数据同时删除数据库原来的数据》 excel表格如何删除相同数据库...

    Java:数据库更新excel文件的数据同时删除数据库原来的数据 重新写入blob的byte[],就可以覆盖了....... excel表格怎么检查有重复的数据库 方/步骤 打开需要编辑的Excel表 ...

最新文章

  1. 设置VS2010中使用IntelliTrace来进行调试
  2. 计算机的u盘显示桌面,U盘图示在我的电脑显示不出?
  3. python数值积分_python与计算物理:实现数值积分的Simpson方法
  4. QT中在终端下写个小例子
  5. 如何在PowerPoint中插入带语法高亮的程序代码
  6. c++回到起点旅行商问题_不要犯同样的错,提C型房车回渝上牌长途旅行的心路历程...
  7. WP Rocket插件无需授权版本
  8. 刷新echart控件
  9. MathType输入框怎么调整
  10. IBM ThinkPad错误代码列表
  11. javascript 函数的变量与作用域
  12. Android SDK下载太慢
  13. ADMM之1范数理解
  14. 学会这120个PS小技巧,工作效率提高5倍!
  15. con 元器件符号_Protues 元器件符号
  16. OLED多级菜单记录
  17. 新华三:照耀城市的数字演进之路
  18. OneNET麒麟座应用开发之十:空气质量数据监测站项目总结
  19. nextjs 基于 isomorphic-unfetch 封装自己的请求库
  20. 流量威胁检测工具开发之路(7)

热门文章

  1. 数电educoder的verilog参考答案
  2. canvas绘画时钟
  3. Fortran95基础知识学习
  4. ffmpeg 将swf文件转 mp4
  5. nero linux4 序列号,nero9序列号_可以永久使用的nero9序列号
  6. 3Dmax和SketchUp有什么区别
  7. c语言万年历节日算法,万年历星期的算法(C语言)
  8. wpe修改充值_【图片】【WPE修改】WPE修改金币、属性、全属性、魔方实测可用版!【古戈吧】_百度贴吧...
  9. java 调用谷歌翻译API(直接可以使用)
  10. 华为交换机抓包上传至PC分析