【发布时间】:2011-01-17 11:52:11
【问题描述】:
我有一个 cmets 表,其结构如下:
id, name, email, comment
我有许多重复的 cmets,具有相同的名称和电子邮件。我需要删除它们,谁能建议我如何使用单个查询来实现这一点?
谢谢
【问题讨论】:
我有一个 cmets 表,其结构如下:
id, name, email, comment
我有许多重复的 cmets,具有相同的名称和电子邮件。我需要删除它们,谁能建议我如何使用单个查询来实现这一点?
谢谢
【问题讨论】:
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
)
【讨论】: