首页 > 数据库技术 > 详细

DB2删除重复数据

时间:2016-05-03 12:32:09      阅读:292      评论:0      收藏:0      [点我收藏+]

有时候DB2建表时不设置主键,就可能存在脏数据,例如:两条一样数据重复存在,这时候就需要将重复记录删除,然后留下一条记录。

CREATE TABLE TB_01(ID INT ,NAME VARCHAR(100));
----插入重复数据
INSERT INTO TB_01 VALUES(1,jack);

插入数据后,结果如下图:

技术分享

第一种删除方法:(重复数据较少的情况下)

SELECT ROWID,TB_01.* FROM TB_01

先查询出rowid,然后以rowid为条件删除

技术分享

DELETE FROM TB_01 WHERE ROWID IN (X05000000000000000000816506000000,X06000000000000000000816506000000,X07000000000000000000816506000000) 

第二种删除:(数据量比较大的情况)

DELETE  FROM (SELECT id,NAME,row_number() over(PARTITION BY ID,NAME ORDER BY ID,NAME) AS row_num FROM TB_01) A
WHERE A.row_num>1

这种删除方式比较好,没有使用rowid那么麻烦。

DB2删除重复数据

原文:http://www.cnblogs.com/OliverQin/p/5454273.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!