MySQL中提取重复记录的查询是啥[重复]

Posted

技术标签:

【中文标题】MySQL中提取重复记录的查询是啥[重复]【英文标题】: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

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

【问题讨论】:

这里已经回答了:***.com/questions/854128/… @Mac23 How.. 会是同一个问题吗?你是机器人还是什么? 【参考方案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,因为您似乎没有在最终结果中使用它。

【讨论】:

以上是关于MySQL中提取重复记录的查询是啥[重复]的主要内容,如果未能解决你的问题,请参考以下文章

MySQL的查询及删除重复记录

MySQL查询表内重复记录

MySQL查询表内重复记录

mysql重复记录的查询删除方法

MySQL查询删除重复记录

在提取数据库中重复行的查询结果中仅选择较新的记录