利用Oracle的row_number() over函数消除重复的记录

转自:http://blog.csdn.net/sharpnessdotnet/archive/2009/06/24/4294549.aspx

 

1.select d.id,d.outer_code from  dict_depts_source d order by outer_code(查看重复数据)

利用Oracle的row_number() over函数消除重复的记录_第1张图片

2.select d.id,d.outer_code,row_number() over(partition by outer_code order by outer_code) row_flag from  dict_depts_source d(标识重复数据)

利用Oracle的row_number() over函数消除重复的记录_第2张图片

3.delete from dict_depts_source where id in(
select id from(select d.id,d.outer_code,row_number() over(partition by outer_code order by outer_code) row_flag from  dict_depts_source d)t
where t.row_flag > 1)(删除重复数据)

3.select d.id,d.outer_code,row_number() over(partition by outer_code order by outer_code) row_flag from  dict_depts_source d(检查删除效果)

利用Oracle的row_number() over函数消除重复的记录_第3张图片

 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sharpnessdotnet/archive/2009/06/24/4294549.aspx

你可能感兴趣的:(oracle)