MySQL删除重复的行

I-M*_*-JM 4 mysql sql

我有一个注释表,其结构如下:

id, name, email, comment
Run Code Online (Sandbox Code Playgroud)

我有很多重复的评论,同名和电子邮件.我需要删除它们,任何人都可以建议我如何使用单个查询实现此目的?

谢谢

lwe*_*ler 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
)
Run Code Online (Sandbox Code Playgroud)