1, look for redundant records in the table, duplicate records are based on a single field (Peopleid) to determine the select * from Peoplewhere peopleid in (select Peopleid from people GROUP by Peopleid Having count (Peopleid) > 1) 2, delete redundant duplicate records in the table, repeat records are based on a single field (Peopleid) to judge, leaving only one record delete from Peoplewhere Peopleid in (select Peopleid from People GROUP by Peopleid have count (Peopleid) > 1) and min (id) not in (SELECT ID from people gro Up by Peopleid have count (Peopleid) >1) 3, redundant duplicate records in lookup table (multiple fields) SELECT * from Vitae awhere (A.PEOPLEID,A.SEQ) in (sel ECT peopleid,seq from Vitae GROUP by PEOPLEID,SEQ have count (*) > 1) 4, delete redundant duplicate records (multiple fields) in the table, leaving only the rowid smallest record delete fr Om vitae awhere (a.peopleid,a.seq) in (select Peopleid,seq from Vitae GROUP by PEOPLEID,SEQ have count (*) > 1) and row ID not in (ROWID) from Vitae GROUP by PEOPLEID,SEQ has count (*) >1) 5, redundant duplicate records in lookup table (multiple fields), does not contain ROWID minimum Record select * from Vitae awhere (A.PEOPLEID,A.SEQ) in (select Peopleid,seq from Vitae GROUP by PEOPLEID,SEQ have Count (*) &G T 1) and rowID not in (select Min (rowid) from Vitae GROUP by PEOPLEID,SEQ have Count (*) >1)
Duplicate records in a MySQL query table