mysql - 显示基于多列的所有重复记录

标签 mysql duplicates records

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

我有一个名为客户数据的表,其中包含 ID、名字、姓氏、地址和出生日期等列。我想在 mySQL 中运行一个查询,该查询将识别并分组显示 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

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

最佳答案

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

SELECT * FROM Customer c1 JOIN Customer c2
ON c1.FirstName = c2.FirstName and c1.LastName = c2.LastName
AND c1.Uniq_Cust != c2.Uniq_Cust

关于mysql - 显示基于多列的所有重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18177503/

相关文章:

MySQL - 长度()与 char_length()

mysql - 从一个表中获取数据并将其插入到另一个 MySQL 中

python - Pandas 在交叉值中找到重复项

Mysql 乘以相同记录的数量

sql - 我该如何编写这个 MySQL 查询来获取正确的信息? (子查询,多个子查询)

php - 表连接混淆检索数据

css - 如何检查重复的 CSS 规则?

python - 删除重复项: python results differ from sort -u

delphi - 在 DWScript 中从 Delphi 向记录类型添加方法

generics - F# 通用记录