Я не знаю, будет ли это работать в MYSQL (я не использовал его) ... но вы должны иметь возможность сделать что-то вроде следующих фрагментов.
Я бы посоветовал вам запустить их, чтобы почувствовать, правильно ли выбираются данные. Если это работает, то вы, вероятно, хотите создать ограничение для столбца.
Получить все дубликаты адресов электронной почты:
SELECT
EMAILADDRESS, COUNT(1)
FROM
TABLE
GROUP BY EMAILADDRESS
HAVING COUNT(1) > 1
Затем определите ID из того, что дает:
SELECT
ID
FROM
TABLE
WHERE
EMAILADDRESS IN (
SELECT
EMAILADDRESS
FROM
TABLE
GROUP BY EMAILADDRESS
HAVING COUNT(1) > 1
)
Затем, наконец, удалите строки, основываясь на вышеупомянутых и других ограничениях:
DELETE
FROM
TABLE
WHERE
ID IN (
SELECT
ID
FROM
TABLE
WHERE
EMAILADDRESS IN (
SELECT
EMAILADDRESS
FROM
TABLE
GROUP BY EMAILADDRESS
HAVING COUNT(1) > 1
)
)
AND FIRSTNAME = 'Instant'