Oracle数据库表记录去重

68 阅读1分钟
delete from [表名] where rec_sn in
(select rec_sn  from 
(Select t.*,
       Row_Number() Over(Partition By t.ipid Order By t.ipid) Su
  From [表名] t
  )  where su > 1)

先排序创建临时表,添加序号,根据序号进行一个唯一筛选,把数量不是1的都查出来,运用delete数据根据表里的唯一主键进行数据删除