【问题标题】:MySQL remove duplicate rowsMySQL 删除重复行
【发布时间】:2011-01-17 11:52:11
【问题描述】:

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

id, name, email, comment

我有许多重复的 cmets,具有相同的名称和电子邮件。我需要删除它们,谁能建议我如何使用单个查询来实现这一点?

谢谢

【问题讨论】:

标签: mysql sql


【解决方案1】:
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
)

【讨论】:

    猜你喜欢
    • 2019-07-23
    • 1970-01-01
    • 2011-03-19
    • 2022-01-05
    • 2017-10-11
    • 1970-01-01
    • 2011-07-18
    相关资源
    最近更新 更多