ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 利用Oracle的row_number() over函数消除重 复的记录

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

原创 Linux操作系统 作者:rainlover 时间:2010-10-10 00:17:05 0 删除 编辑
利用Oracle的row_number() over函数消除重 复的记录
2009-09-23 14:26

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

查看重复数据

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(标识重复数据)

标识重复数据

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(检查删除效果)

检查重复数据

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11320622/viewspace-675648/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-06-08

  • 博文量
    35
  • 访问量
    69716