SQL
Count and delete duplicate keys
Count duplicate keys in table
SELECT name, email, COUNT(*)
FROM contacts
GROUP BY name, email
HAVING COUNT(*) > 1
Delete duplicates while keeping the row with lowest id
DELETE c1 FROM contacts c1
INNER JOIN contacts c2
WHERE c1.id > c2.id
AND c1.email = c2.email;
Delete duplicates while keeping the row with highest id
DELETE c1 FROM contacts c1
INNER JOIN contacts c2
WHERE c1.id < c2.id
AND c1.email = c2.email;