定位&使用查询计算表中列的子集的所有重复项

时间:2012-09-27 20:13:17

标签: sql sql-server sql-server-2008-r2

有人可以告诉我这里我做错了什么以及如何使查询有效?

我正在尝试为重复这4列的所有记录返回{OrgID,IdentifierTypeID,IdentifierOrder,ValidFrom}以及重复次数。我只想要在结果集中显示重复项,这就是我尝试使用>的原因。 1部分。

select count(*) Number, OrgID, IdentifierTypeID, IdentifierOrder, ValidFrom
    from xdb.dbo.OrganizationIdentifier_IngestII
    where Number > 1
    group by OrgID, IdentifierTypeID, IdentifierOrder, ValidFrom

1 个答案:

答案 0 :(得分:1)

使用HAVING子句测试聚合函数的结果。此外,您不能在该测试中使用列别名(Number),因此您需要重复该功能。

SELECT COUNT(*) AS Number, OrgID, IdentifierTypeID, IdentifierOrder, ValidFrom
    FROM xdb.dbo.OrganizationIdentifier_IngestII
    GROUP BY OrgID, IdentifierTypeID, IdentifierOrder, ValidFrom
    HAVING COUNT(*) > 1;