2011-01-17 4 views
4

У меня есть комментарии таблица, структура которой, как:MySQL удалить повторяющиеся строки

id, name, email, comment 

У меня есть много повторяющихся комментариев, с тем же именем и электронной почтой. Мне нужно удалить их, может ли кто-нибудь предложить мне, как я могу достичь этого, используя один запрос?

Благодаря

+0

возможно дубликат [Удалить дубликаты строк Оставляя Более старые строки только?] (Http://stackoverflow.com/questions/3671607/remove-duplicate-rows-leaving-oldest-row-only) –

ответ

7
DELETE FROM comments c1 

WHERE EXISTS (
    SELECT * 
    FROM comments c2 
    WHERE c2.id <> c1.id 
     AND c2.name = c1.name 
     AND c2.email = c1.email 
     AND c2.comment = c1.comment 
) 

AND c1.id <> (
    SELECT MIN(c2.id) 
    FROM comments c2 
    WHERE c2.name = c1.name 
     AND c2.email = c1.email 
     AND c2.comment = c1.comment 
) 
+0

Я попробую это! – Gordon

Смежные вопросы