Oracle 删除重复数据并保留一条数据

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);

你可能感兴趣的:(oracle,数据库)