想要在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
任何人都知道如何做到这一点?我试图避免做第一个,然后在代码中用第二个查询查找重复项。
答案 0 :(得分: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
,因为您似乎没有在最终结果中使用它。