如何编写查询以列出来自同一类别的数据库中的重复条目。重复项在“名称”列中具有相同的值。我只需要列出同一类别中的重复项,以便我可以删除副本。
我在搜索中使用此示例
SELECT email FROM tableName GROUP BY email HAVING count(email) > 1
这适用于获取重复但它获得所有重复项,我如何重写它以从相同的类别获取重复项。 在上面的例子中,如果我有一个存在于cat 1和cat 4中的电子邮件,它将显示为重复,但情况并非如此。如果电子邮件在cat 1中存在两次或更多次,或者在cat 4中存在两次或更多次,则应该只列出重复项。依此类推。
感谢。
答案 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
上有副本,否则您将无法分辨副本属于哪个类别。