Oracle 删除重复数据并保留一条数据
表中有个字段A=a这个值有两条,需要删除其中一条。先筛选出重复的数据,确定要删除rowid 值。我这边是需要删除rowid值大的一行记录。先查出要删除的rowid值。再依据rowid 删除。
·
1、需求描述:
表中有个字段A=a这个值有两条,需要删除其中一条。
2、思路:
先筛选出重复的数据,确定要删除rowid 值
我这边是需要删除rowid值大的一行记录
先查出要删除的rowid值
SELECT max(ROWID) FROM 表名 GROUP BY 重复列 HAVING COUNT(重复列) > 1
核对数量是否正确
再依据rowid 删除
select *from 表名 WHERE rowid IN
(SELECT max(ROWID) FROM 表名 GROUP BY 重复列 HAVING COUNT(重复列) > 1);
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)