DB2刪除重復數據使我們經常使用的操作,下面就教您DB2刪除重復數據的方法,希望可以對您學習DB2刪除重復數據方面有所幫助。
使用ROW_NUMBER 刪除重復數據
假設表TAB中有a,b,c三列,可以使用下列語句刪除a,b,c都相同的重復行。
以下是代碼片段:
- delete from (select * from (select a,b,c,row_number() over(partition by a,b,c order by a,b,c) as row_num from tab) as e where row_num >1)
如果數據量太大可以采用如下方法:
以下是代碼片段:
- Create table emp_profile_temp like emp_profile;
大數據量采用 LOAD FROM CURSUR
以下是代碼片段:
- DECLARE mycursor CURSOR FOR SELECT distinct * FROM emp_profile; LOAD FROM mycursor OF CURSOR INSERT INTO emp_profile_temp;
以下是代碼片段:
- drop table emp_profile; rename table emp_profile_temp to emp_profile