Query and delete duplicate records of SQL statement 1, find redundant records in the table, duplicate records are based on a single field (ID) to determine
Select * from where inch (selectfromgroupby hascount>1 )
2, delete redundant records in the table, duplicate records are based on a single field (ID) to judge, leaving only the smallest ROWID records
DELETE fromTableWHERE(ID)inch(SELECTId fromTableGROUP byId having COUNT(ID)> 1) andROWID not inch(SELECT MIN(ROWID) fromTableGROUP byId having COUNT(*)> 1)
3. Find redundant duplicate records (multiple fields) in the table
Select * from where inch (selectfromgroupby havecount(*> 1)
4. Delete extra duplicate records (multiple fields) in the table, leaving only the record with ROWID minimum
Delete fromTable Awhere(A.ID,A.SEQ)inch(SelectId,seq fromTableGroup byId,seq having Count(*)> 1) androwID not inch(Select min(ROWID) fromTableGroup byId,seq having Count(*)>1)
5. Find redundant duplicate records (multiple fields) in the table, not including the smallest ROWID records
Select * fromTable Awhere(A.ID,A.SEQ)inch(SelectId,seq fromTableGroup byId,seq having Count(*)> 1) androwID not inch(Select min(ROWID) fromTableGroup byId,seq having Count(*)>1)
Transferred from: Zhang Zengsing Oracle Delete duplicate data leave only one bar