郁闷的大象

 

2011年7月28日

快速删除重复记录(Oracle&SqlServer)

摘要: 数据库中删除重复记录一直是件挺烦人的事,本人收集了Oracle跟SqlServer的快速删除重复记录的方法,供大家参考,希望对大家有所帮助。SQL SERVER 想必每一位SQL SERVER开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地会碰到由于表中存在重复的记录而导致查询和统计结果不准确。解决该问题的办法就是将这些重复的记录删除,只保留其中的一条。 在SQL Server中除了对拥有十几条记录的表进行人工删除外,实现删除重复记录一般都是写一段代码,用游标的方法一行一行检查,删除重复的记录。因为这种方法需要对整个表进行遍历,所以对于表中的记录数不是很大的时候还是可行的,如果一 阅读全文

posted @ 2011-07-28 19:00 郁闷的大象 阅读(570) 评论(0) 推荐(0) 编辑

几个删除重复记录的SQL语句

摘要: 比如现在有一人员表 (表名:peosons)若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来 select p1.* from persons p1,persons p2 where p1.id<>p2.id and p1.cardid = p2.cardid and p1.pname = p2.pname and p1.address = p2.address可以实现上述效果.几个删除重复记录的SQL语句1.用rowid方法2.用group by方法3.用distinct方法1。用rowid方法据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:查数据 阅读全文

posted @ 2011-07-28 18:59 郁闷的大象 阅读(137) 评论(0) 推荐(0) 编辑

SQL Server中删除重复数据的几个方法

摘要: 数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置…… 方法一 declare @max integer,@id integer declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1 open cur_rows fetch cur_rows into @id,@max while fetch_status=0 begin select @max = @max -1 set rowcount @max del 阅读全文

posted @ 2011-07-28 18:59 郁闷的大象 阅读(135) 评论(0) 推荐(0) 编辑

SQL删除重复数据方法

摘要: 例如: id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c pp 7 c pp 8 c iii id是主键 要求得到这样的结果 id name value 1 a pp 3 b iii 4 b pp 6 c pp 8 c iii 方法1 delete YourTable where [id] not in ( select max([id]) from YourTable group by (name + value)) 方法2 delete a from 表 a left join( select id=min(id) from 表 g 阅读全文

posted @ 2011-07-28 18:58 郁闷的大象 阅读(216) 评论(0) 推荐(0) 编辑

导航