1

我对 mySQL 很陌生,我尝试在整个网络和 stackoverflow 中进行搜索,以找到可能是一个非常简单的查询的解决方案。

我有一个名为客户数据的表,其中包含 ID、名字、姓氏、地址和出生日期等列。我想在 mySQL 中运行一个查询,它将识别并分组显示名字、姓氏、地址和 DOB 对于 2 条或更多记录相同的所有列。这里要注意的关键是 ID 永远不会重复,因此我需要取出每个重复记录的 ID。

我已经看到了许多COUNT(*)使用的示例查询,但这仅显示 1 条单条记录和计数列中相同记录的出现,而不是带出第二条重复记录。

我运行的示例查询是这样的:

SELECT Uniq_Cust, Address, FirstName, LastName, DOB, COUNT(*) AS count1
FROM customerdata
GROUP BY FirstName, LastName, DOB, Address
HAVING count1 > 1
ORDER BY count1 ASC

我希望我已经清楚地解释了我想要达到的目标。非常感谢您的帮助!

4

1 回答 1

4

这将显示所有共享名字和姓氏的记录对:

SELECT * FROM Customer c1 JOIN Customer c2
ON c1.FirstName = c2.FirstName and c1.LastName = c2.LastName
AND c1.Uniq_Cust != c2.Uniq_Cust
于 2013-08-11T23:01:06.530 回答