Detect:
SELECT email, COUNT(*) AS duplicate_count
FROM customers
GROUP BY email
HAVING COUNT(*) > 1;
Remove:
DELETE t1
FROM customers t1
INNER JOIN (
SELECT email, MIN(id) AS min_id
FROM customers
GROUP BY email
HAVING COUNT(*) > 1
) t2 ON t1.email = t2.email AND t1.id > t2.min_id;
customers – db name
email – column name
Источник – https://five.co/blog/count-duplicates-in-mysql/
P.S. Код рабочий, проверено. Однако всегда, перед любыми изменениями, делайте резервную копию.