Удалить повторяющиеся строки кроме одной

Статус
В этой теме нельзя размещать новые ответы.

dandandan

Мой дом здесь!
Регистрация
7 Авг 2008
Сообщения
1.036
Реакции
292
Есть таблица id slovo

Требуется удалить из базы все строки (дубли) в которых slovo=text , оставив при этом только одну строку где slovo=text

Хочу это все сделать в один mysql запрос. :) Можни ли так изловчиться?
 
Может проще сделать выборку из базы убирая дубли и тут же вставить в новую таблицу? Что-то наподобие такой конструкции:
Код:
SELECT DISTINCT id, slovo INTO НоваяТаблица [IN БазаДанных] FROM Таблица;
 
Код:
delete from table where id = (select id from table where slovo = text limit 1, max(id))
Если я правильно понял...
 
Либо можно так:
DELETE table1 FROM имя_таблицы as table1, имя_таблицы as table2 WHERE table1.slovo=table2.slovo AND table1.id>table2.id
 
С двумя таблицами помойму что то очень геморно придумано.
DELETE FROM table_name WHERE table_name.id <> (SELECT TOP 1 FROM table_name WHERE table_name.slovo = :slovo ) AND table_name.slovo = :slovo
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху