【问题标题】:What is the query in MySQL to pull out the duplicate records [duplicate]MySQL中提取重复记录的查询是什么[重复]
【发布时间】:2016-11-30 05:13:27
【问题描述】:

想要在 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

有人知道怎么做吗?我试图避免执行第一个,然后在代码中使用第二个查询查找重复项。

【问题讨论】:

标签: mysql duplicates


【解决方案1】:

这里的一个选项是将您的原始表加入到确定计数的子查询中:

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,因为您似乎没有在最终结果中使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 2016-02-12
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多