聚合函数(Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsMicrosoft Fabric中的SQL分析端点Microsoft Fabric中的仓库Microsoft Fabric中的SQL数据库

Microsoft SQL 数据库引擎中的聚合函数对一组值执行计算,并返回单个值。

  • 除聚合函数外 COUNT(*),聚合函数忽略 NULL 值。
  • 聚合函数通常与该语句一起使用GROUP BYSELECT。
  • 除非另有说明,聚合函数是确定性的。 换言之,每次使用一组特定的输入值调用聚合函数时,它们所返回的值都是相同的。 例如, APPROX_MEDIAN 和 APPROX_QUANTILE 都不是确定性的。 有关函数确定性的详细信息,请参阅 确定性函数和不确定函数 。
  • OVER 子句可以跟随所有聚合函数,除了 STRING_AGG、 GROUPING或 GROUPING_ID 函数。
  • 聚合函数仅作为表达式出现在语句的选择列表中 SELECT (无论是子查询还是外部查询),或在子 HAVING 句中。

Microsoft SQL 数据库引擎 在部分或所有平台上提供以下聚合功能。 请参阅各语法条目以了解适用的平台。

  • ANY_VALUE - 从组中的任意行中选取一个值并返回。
  • APPROX_COUNT_DISTINCT - 使用内存效率高的算法返回不同非空值的近似计数。
  • APPROX_MEDIAN - 返回一组值的近似中位数值。
  • APPROX_PERCENTILE_CONT - 通过连续插值返回近似百分位数值。
  • APPROX_PERCENTILE_DISC - 返回从实际数据值中选出的近似百分位数值。
  • APPROX_QUANTILE - 返回指定分位数位置的近似分位数值。
  • AVG - 计算组内各数值的平均值。
  • CHECKSUM_AGG - 返回对组中各值计算的校验和值。
  • COUNT - 返回组中的行数或非空值。
  • COUNT_BIG - 返回组中的行数或非空值,作为 双倍型 类型。
  • 分组 ——表示结果行中的某列值是否通过分组操作被聚合。
  • GROUPING_ID - 返回一个位掩码,识别哪些列被聚合在分组集中。
  • PRODUCT - 返回组中非零值的乘积。
  • MAX - 返回组中的最大值。
  • 中位数 - 返回组中各值的中位数值。
  • MIN - 返回组中的最小值。
  • PERCENTILE_CONT - 根据列值的连续分布计算百分位数。
  • PERCENTILE_DISC - 计算整个行集或行集不同分区内排序值的特定百分位数。
  • 分位数 - 返回对应组内指定分位数的值。
  • STDEV - 返回一组中数值的样本标准差。
  • STDEVP - 返回群体中数值的总体标准差。
  • STRING_AGG - 将多行字符串值串接到单一字符串中。
  • SUM - 返回组中各值的总和。
  • VAR - 返回组中各值的样本方差。
  • VARP ——返回组中各值的总体方差。