C'est l'une des nombreuses raisons pour lesquelles toutes les tables doivent avoir une clé primaire (pas nécessairement un numéro d'identification ou une IDENTITÉ, mais une combinaison d'une ou plusieurs colonnes qui identifie de manière unique une ligne et dont l'unicité est appliquée dans la base de données).
Votre meilleur pari est quelque chose comme ceci :
SELECT field1, field2, field3, count(*)
INTO temp_table1
FROM table1
GROUP BY field1, field2, field3 having count(*) > 1
DELETE T1
FROM table1 T1
INNER JOIN (SELECT field1, field2, field3
FROM table1
GROUP BY field1, field2, field3 having count(*) > 1) SQ ON
SQ.field1 = T1.field1 AND
SQ.field2 = T1.field2 AND
SQ.field3 = T1.field3
INSERT INTO table1 (field1, field2, field3)
SELECT field1, field2, field3
FROM temp_table1
DROP TABLE temp_table1