最近在项目里碰到很多重复记录的事情,因为是设计业务里的具体数值,所以不敢轻易全部删除,数据量也很大,所以就倒腾了点代码在SQL里进行删除

纯属菜鸟,还望高手指教啊

 1 --创建临时表 2    3 ifexists (select*from   tempdb.dbo.sysobjects   where   id=object_id( 'tempdb.dbo.##TEMP'))  4 droptable   ##TEMP   5          6 --将有重复记录的数据导入到临时表里,并增添一个字增列        7 selectIDENTITY(int,1,1) as ppkey,ParameterRelatedId,BusinessParameterID into ##Tempfrom ParameterRelated 
where RegionID='7E01D028-F84A-4D9A-9428-F68989215C0B'and YearTime=2011
and BusinessParameterID in (select BusinessParameterID from BusinessParameters) 8  9 --分组后根据自增列的大小取出重复记录的第一个记录ID 10 select*from ##Tempwhere ppkey in (selectMin(ppkey) from ##Tempgroupby BusinessParameterID)11 12 --根据取出来的记录ID过滤,删除掉那些重复记录自增列不是最小的记录13 deletefrom ParameterRelated where ParameterRelatedId 
notin(select ParameterRelatedId from ##Tempwhere ppkey in
 (selectMin(ppkey) from ##Tempgroupby BusinessParameterID)) 
and RegionID='7E01D028-F84A-4D9A-9428-F68989215C0B'and YearTime=2011

转载于:https://www.cnblogs.com/MrWby/archive/2011/09/14/2176042.html

通过SQL语句删除重复记录相关推荐

  1. SQL语句删除重复记录

    转:http://www.cnblogs.com/sunxiaonan/archive/2009/11/24/1609439.html 转:http://www.cnblogs.com/liaoyun ...

  2. mysql用一条sql语句删除重复记录_mysql中删除重复记录,并保留重复数据中的一条数据的SQL语句...

    正好想写一条删除重复语句并保留一条数据的SQL,网上查了一部分资料写的很详细,但还是在这里写下自己的理解,以遍后续学习 .如下: 表字段和数据: SQL语句: DELETE FROM`user`WHE ...

  3. SQL语句删除重复记录且只保留一条有效记录

    1.查找表中多余的重复记录,重复记录是根据单个字段(name)来判断 select * from lib where name in (select name from lib group by na ...

  4. 通过SQL 语句删除重复记录并且只保留一条记录

    这里写自定义目录标题 1 重复字段 2 查询全部重复的数据 3 删除全部重复试题 4 查询表中多余重复试题(根据 depno 来判断,除了 rowid 最小的一个) 4.1 第一种方法 4.2 第二种 ...

  5. 利用sql语句删除重复数据

    记录原因: 昨天遇到一个问题:需要写一个sql语句删除重复数据.当时解决的办法,是先查询出重复的数据id,然后再单独写删除语句进行删除.今天想了想应该还是有其他办法解决的,研究了下可以通过一条语句就能 ...

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

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

  7. SQL Server 删除重复记录,只保留一条记录

    原文地址:http://blog.csdn.net/eriato/article/details/17417303 有张表格之前没有设计关键字段的唯一约束,导致有时候执行插入操作时不小心执行了多次就出 ...

  8. oracle sql删除重复,【转帖】SQL Oracle删除重复记录

    1.Oracle删除重复记录. 删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录. delete from people where peopleI ...

  9. SQL exists 删除重复记录

    从表中删除重复记录,保留ID最大值的一条,以及无重复的记录 delete from T  where exists ( select 1 from T b where T .fDGUID=b.fDGU ...

最新文章

  1. avalov+require实现tab栏
  2. hana修改字段_自定义SAP HANA登陆界面背景
  3. vb.net2019-多线程并行计算(6)
  4. c语言subscripted_c语言。数组的问题。急!
  5. MyBatis接口代理
  6. c#学习-base和this在构造函数中的应用
  7. word文档生成目录
  8. Java 学习之集合类(Collections)
  9. HNOI2019:My Dream
  10. Python2.7版本的pip下载安装(win7 64位,Python2.7)
  11. 小米笔记本linux指纹,小米笔记本Air13.3寸指纹版(128GB) u盘装系统win10步骤
  12. Flex弹性布局详细介绍
  13. 日本剑道规则及道场礼节 ——值得学习
  14. 有财学院http://www.godgold.com/learn/title_asp/index.html
  15. hive 元数据 解释
  16. pdps安装oracle12安装,Tecnomatix PDPS安装教程适用于Oracle版本11g
  17. 华为怎么显示返回按键_苹果手机为何一直没有“返回键”?其实乔布斯生前就说出了答案!...
  18. 在matlab中生成m序列
  19. Java 中XO 的概念
  20. 将Java程序转换为Windows服务 作者:IT168 seasky 2007-09-19

热门文章

  1. React学习笔记2017-12-31
  2. WEB应用安全解决方案测试验证
  3. 看完Mate 10拍下的精美空中照片后,你是否也想坐次飞机试拍下?
  4. 《R语言数据挖掘:实用项目解析》——2.6 变量分段
  5. C++使用简单的函数指针
  6. 简单制作RPM二进包实例(转)
  7. 读懂AIMS 2013中的性能分析报告
  8. 关于LineChart线条颜色和粗细的问题
  9. 程序员面试金典——1.8反转子串
  10. Leetcode 105. 前序和中序遍历序列构造二叉树