Oracle数据表如何只保留一条重复数据,删除其他重复数据
1 使用rowid
使用rowid,rowid是Oracle中每一行的唯一标识符,可以使用以下语句来删除重复数据,保留一条:
delete from your_table where rowid not in (select min(rowid) from your_table group by duplicate_columns); --其中,your_table是表名,duplicate_columns是用于判断重复数据的列。
2 使用row_number()函数
使用row_number()函数,row_number()函数可以为每一行分配一个唯一的序号,可以使用以下语句来删除重复数据,保留一条:
delete from your_table where rowid in (select rid from (select rowid as rid, row_number() over(partition by duplicate_columns order by rowid) as rn from your_table) where rn > 1); --其中,your_table是表名,duplicate_columns是用于判断重复数据的列。
注:以上方法适用于删除表中的重复数据,保留一条。如果需要保留多条重复数据,可以根据具体需求进行调整。
原文链接:https://blog.csdn.net/qq_24330181/article/details/131590306
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2023-04-15 行政区划代码
2023-04-15 mysql如何查询所有表和字段信息