您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页oracle:删除表数据的重复记录,并保留一条

oracle:删除表数据的重复记录,并保留一条

来源:华佗小知识

文章目录

  • 删除重复数据的方法
  • oracle代码
  • 总结


前言

某些数据是手工录入数据库的,所以经常会产生重复的数据,这时就需要删除多余的数据


提示:以下是本篇文章正文内容,下面案例可供参考

一、删除重复数据的方法

删除重复数据的写法有很多种,但有些写法会将所有的重复项都删除,所以需谨慎。以下案例是我实操过且能保留一条的代码写法

二、oracle代码

ROWID是虚列,用于定位数据表中某条数据的位置,是唯一的、也不会改变,所以可利用ROWID,并通过分析函数根据员工号分组生成序号,然后删除序号大于1的数据。

delete from clks_sj.temp_ql_yuangongxinxi1
where rowid in (select rowid
                from (select rowid,t.*,
                             row_number() over (partition by 员工号 order by 员工号) 排序 
                      from clks_sj.temp_ql_yuangongxinxi1 t
                      ) 
                 where 排序>1
               )

总结

学会删除表中的重复项,可提高代码运行效率。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务