mysql - 查找MySQL中的重复记录

标签 mysql duplicates

我想提取 MySQL 数据库中的重复记录。这可以通过以下方式完成:

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

结果是:

100 MAIN ST    2

我想拉它,以便它显示重复的每一行。像这样的东西:

JIM    JONES    100 MAIN ST
JOHN   SMITH    100 MAIN ST

对于如何做到这一点有什么想法吗?我试图避免执行第一个查询,然后在代码中使用第二个查询查找重复项。

最佳答案

关键是重写这个查询,使其可以用作子查询。

SELECT firstname, 
   lastname, 
   list.address 
FROM list
   INNER JOIN (SELECT address
               FROM   list
               GROUP  BY address
               HAVING COUNT(id) > 1) dup
           ON list.address = dup.address;

关于mysql - 查找MySQL中的重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59514633/

相关文章:

Python json 解析器允许重复键

r - 根据 R 中的查找表保留特定的重复项

iphone - iOS - 链接器错误,重复符号

python - 我如何使用 python 使用变量进行 mongodb 查询(或 find())?

mysql - 如何检测每小时在 MySQL 上运行的是什么?

mysql - 如果向现有 MySQL 集合添加元素会发生什么?

mysql - 基于选择查询更新查询

php - 如何在Mysql字段中设置默认当前日期时间

java - 查找数组中的重复项并仅打印一次

MySQL:跨多个字段查找重复项