首页 > 解决方案 > MSSQL Server - 在多个字段上查找重复项

问题描述

我正在尝试查找 gtid 唯一的重复方,但存在重复的名字、姓氏和 DOB 重复的记录。因此,例如,以下内容可以有多个记录:

gtid : 105 但对于以下示例,记录不应超过 1 条:

gtid : 105, first name : john, last name : smith , dob: 12/05/1992
gtid : 105, first name : john, last name : smith, dob: 12/05/1992 

可接受:

gtid : 105, first name : john, last name : smith , dob: 12/05/1992
gtid : 106, first name : john, last name : smith, dob: 12/05/1992 

我有以下但它不起作用:

SELECT DISTINCT GtId, CrmPartyId, LegalName, BusinessClass, RmFullName, PbeFullName, OverallClientStatus, OverallRpStatus, 

FirstName + ' ' + LastName FullName, Dob FROM Core.WeccoParty

标签: sqlsql-server

解决方案


你不想gtidGROUP BY

SELECT FIRST_NAME, LAST_NAME, BIRTH_DATE,
       MIN(gtid), MAX(gdid), COUNT(*)
FROM Staging.WECCO_Party_In
GROUP BY FIRST_NAME, LAST_NAME, BIRTH_DATE
HAVING COUNT(*) > 1

推荐阅读