DELETE дублирующих записей

Rynor

stay hungry
DELETE дублирующих записей

Уважаемые!
Что-то не соображу, подскажите, возможно ли удалить дубликаты (оставить только одну запись с данным значением пола) одной командой DELETE?
Например, удалить из таблицы рассылки maillist все дубликаты записи со значением поля email='lalala'
DELETE FROM maillist ... WHERE email='lalala'

Или тут никак без предварительного проверочного SELECT id ... по каждому значению поля?

Заранее благодарю за помощь.
 

.des.

Поставил пиво кому надо ;-)
Никак. ОДним запросом.
CREATE TABLE temp SELECT * FROM maillist GROUP BY email;
DROP TABLE maillist;
RENAME .. tmp ...
 

Апельсин

Оранжевое создание
> Никак. ОДним запросом.
не правда ;)

можно. создай уникальный ключ, по этому полю и ALTER IGNORE TABLE автоматически удалит тебе дублирующие записи.
Другое дело что этот способ не совсем применим, когда надо оставить не первую встречную запись, а учитывая какие-нибудь другие условия, тогда используй метод .des.
 
Сверху