如何列出数据库中的重复条目

时间:2010-12-15 18:34:43

标签: php mysql

如何编写查询以列出来自同一类别的数据库中的重复条目。重复项在“名称”列中具有相同的值。我只需要列出同一类别中的重复项,以便我可以删除副本。

我在搜索中使用此示例

 SELECT email FROM tableName GROUP BY email HAVING count(email) > 1

这适用于获取重复但它获得所有重复项,我如何重写它以从相同的类别获取重复项。 在上面的例子中,如果我有一个存在于cat 1和cat 4中的电子邮件,它将显示为重复,但情况并非如此。如果电子邮件在cat 1中存在两次或更多次,或者在cat 4中存在两次或更多次,则应该只列出重复项。依此类推。

感谢。

2 个答案:

答案 0 :(得分:2)

您可以向组中添加多个列。即。

SELECT email, category from tableName GROUP BY email, category HAVING count(email) > 1

这将仅显示电子邮件和类别,其中电子邮件和类别都是重复的(I.E.同一电子邮件两次,具有相同的类别)。

答案 1 :(得分:0)

按类别将类别添加到组中。

SELECT email FROM tableName GROUP BY email, category HAVING count(email) > 1

唯一有问题的是,除非您SELECT上有副本,否则您将无法分辨副本属于哪个类别。