首页 文章

MySQL中用于提取重复记录的查询是什么[重复]

提问于
浏览
2

这个问题在这里已有答案:

想要在MySQL数据库中查找重复记录 . 这可以写成:

SELECT address, count(id) as cnt FROM list
GROUP BY address HAVING cnt > 1

这给了我:

101 Saint ST    3

我想拉它,以便它显示每个重复的行 . 例如:

SIM    JANE    101 Saint ST
JOHN   SMITH   101 Saint ST

任何人都知道如何做到这一点?我试图避免做第一个,然后在代码中使用第二个查询查找重复项 .

1 回答

  • 0

    这里的一个选项是将原始表连接到确定计数的子查询:

    SELECT t1.last, t1.first, t1.address
    FROM list t1
    INNER JOIN
    (
        SELECT address
        FROM list
        GROUP BY address
        HAVING COUNT(*) > 1
    ) t2
        ON t1.address = t2.address
    

    子查询服务器过滤器,该过滤器删除没有至少一个具有公共地址的其他记录的记录 . 请注意,我从此子查询的选择列表中删除了 COUNT ,因为您似乎没有在最终结果中使用它 .

相关问题