Бихте могли доста лесно да направите това, като изберете тази заявка в друга таблица и след това я преименувате, за да замени оригинала.
CREATE TABLE `table2` (
`name` varchar(255),
`email` varchar(255),
UNIQUE KEY `email` (`email`));
INSERT INTO `table2` SELECT `name`, DISTINCT(`email`) FROM `table`;
RENAME TABLE `table` TO `table1`;
RENAME TABLE `table2` TO `table`;
Имайте предвид, че този CREATE
трябва да се коригира към действителния формат на вашата таблица. Добавих уникалния ключ в полето за имейл като предложение за това как бихте предотвратили дублирането на първо място.
Като алтернатива можете да преминете през това
DELETE FROM `table`
WHERE `email` IN (
SELECT `email` FROM `table` GROUP BY `email` HAVING count(*) > 1
) LIMIT 1
Което би изтрило един дублиран запис на повикване. Важността на ограничението е да не премахвате и двата реда за всеки дубликат