【问题标题】:MySQL Find and show all duplicatesMySQL 查找并显示所有重复项
【发布时间】:2015-01-15 18:21:31
【问题描述】:

我希望在数据库中查找重复项 - 但也显示所有重复记录。我当前的查询:

SELECT 'duplicate' as dup,c.Id, c.CreatedDate, c.email, c.Lead_Grade__c, count(c.email) 
FROM contact as c
Inner Join (select c.Id, c.email FROM contact as c group by c.email having count(c.email) > 1) as dup
ON c.email = dup.email
WHERE Lead_Grade__c is null;

这可以为每条重复记录提供 1 行。我想要每条重复记录有 2 行(或更多)行。所以,如果记录 X 和记录 Y 都有相同的电子邮件,那么我想同时显示两者。

有什么想法吗?

谢谢!

【问题讨论】:

  • 你想如何显示两者?作为单独的行还是在同一行?如果有多个?

标签: mysql


【解决方案1】:

这会将联系人加入到自身中,并且仅显示电子邮件相同且具有超过 1 条记录的记录(假设 ID 是唯一值)

为此设置的这个结果只能是重复的。

SELECT A.* 
FROM contact A
INNER JOIN CONTACT B
 on A.email = B.email
 and a.id <> b.ID
ORDER BY A.Email

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多