DB2删除重复数据的实现


  本文标签:DB2删除重复数据

  DB2删除重复数据使我们经常使用的操作,下面就教您DB2删除重复数据的方法,希望可以对您学习DB2删除重复数据方面有所帮助  。

  使用ROW_NUMBER 删除重复数据
假设表TAB中有a,b,c三列,可以使用下列语句删除a,b,c都相同的重复行  。

  1. 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) 

  如果数据量太大可以采用如下方法:

  1. Create table emp_profile_temp like emp_profile; 

  大数据量采用 LOAD FROM CURSUR

  1. DECLARE mycursor CURSOR FOR SELECT distinct * FROM emp_profile;  
  2. LOAD FROM mycursor OF CURSOR INSERT INTO emp_profile_temp; 
  1. drop table emp_profile;  
  2. rename table emp_profile_temp to emp_profile