Delete Duplicate Rows From an Oracle Table
An easy way to remove the duplicate rows before the primary key or unique indexes can be created:
DELETE FROM table_name
WHERE rowid not in
(SELECT MIN(rowid)
FROM table_name
GROUP BY column1, column2, column3... ;
The GROUP BY is used on the columns that make the primary key for the table. This query deletes each row in the group after the first row.