Only one repeat data record is deleted in Oracle and one repeat row in oracle.
SQL statement for querying and deleting duplicate records 1. Search for redundant duplicate records in the Table. duplicate records are based on a single field (Id) select * from table where Id in (select Id from Table group byId having count (Id)> 1) 2. Delete unnecessary duplicate records in the table, duplicate records are determined based on a single field (Id). Only the records with the smallest rowid are retained: DELETE from table WHERE (id) IN (SELECT id FROM Table group by id having count (id)> 1) and rowid not in (select min (ROWID) FROM Table group by id having count (*)> 1); 3. Find redundant duplicate records IN the table (multiple fields) select * from Table a where (. id,. seq) in (select Id, seq from Table group by Id, seq having count (*)> 1) 4. Delete redundant record (multiple fields) in the table ), only records with the smallest rowid are record: delete from Table a where (. id,. seq) in (select Id, seq from Table group by Id, seq having count (*)> 1) and rowid not in (select min (rowid) from Table group by Id, seq having count (*)> 1) 5. Search for redundant duplicate records (multiple fields) in the table, excluding the select * from Table a where (. id,. seq) in (select Id, seq from Table group by Id, seq having count (*)> 1) and rowid not in (select min (rowid) from Table group by Id, seq having count (*)> 1)