2011-01-17 13 views
4

私はその構造としてあるコメントテーブルを持っています。私はそれらを削除する必要が誰も私を提案することができます私はこれを単一のクエリを使用して達成することができますか?MySQLの削除重複行は

おかげ

+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