SQL CHECKSUM_AGG 是一个聚合函数,用于返回组中值的校验和。或者说,CHECKSUM_AGG 用于检测列中的更改。在本 CHECKSUM_AGG 演示中,我们将使用下面显示的数据。

SQL CHECKSUM_AGG 示例
以下示例使用 CHECKSUM_AGG 函数来检测 Employee Id、Dept Id 和 Manager Id 列中的更改。
SELECT CHECKSUM_AGG(CAST([EmployeeID] AS INT)) AS [Emp ID]
,CHECKSUM_AGG(CAST(DeptID AS INT)) AS [Department ID]
,CHECKSUM_AGG(CAST([ManagerID] AS INT)) AS [Manager ID]
FROM [MyEmployees]

SQL CHECKSUM_AGG 结合 DISTINCT 关键字
在此示例中,我们将使用 CHECKSUM_AGG 函数查找不同记录的校验和值。在 SQL Server 中,DISTINCT 关键字用于删除指定列名中的重复项。
SELECT CHECKSUM_AGG(CAST([EmployeeID] AS INT)) AS [Emp ID]
,CHECKSUM_AGG(DISTINCT CAST(DeptID AS INT)) AS [Unique Department ID]
,CHECKSUM_AGG(DISTINCT CAST([ManagerID] AS INT)) AS [Unique Manager ID]
FROM [MyEmployees]

SQL CHECKSUM_AGG 结合 GROUP BY
此 聚合函数 示例将向您展示如何将 CHECKSUM_AGG 函数与 GROUP BY 子句一起使用。请参阅 GROUP BY 子句 以了解分组技术。
SELECT Occupation
,CHECKSUM_AGG(CAST([EmployeeID] AS INT)) AS [Emp ID]
,CHECKSUM_AGG(DISTINCT CAST(DeptID AS INT)) AS [Unique Department ID]
,CHECKSUM_AGG(DISTINCT CAST([ManagerID] AS INT)) AS [Unique Manager ID]
FROM [MyEmployees]
GROUP BY Occupation
