聚合函數(Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsMicrosoft Fabric 中的 SQL 分析端點Microsoft Fabric 中的倉庫Microsoft Fabric 中的 SQL 資料庫

Microsoft SQL 資料庫引擎中的彙總函式會對一組值進行計算,並回傳單一值。

  • 除了 COUNT(*),聚合函數會忽略 NULL 值。
  • 彙總函數常與陳述句一起使用GROUP BYSELECT。
  • 除非另有說明,彙總函數是確定性的。 換句話說,使用一組特定輸入值呼叫時,彙總函式會在每次呼叫時傳回相同的值。 例如,和 APPROX_MEDIANAPPROX_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 - 以 bigint 類型回傳群組中列數或非空值。
  • 分組 - 表示結果列中的欄位值是否經過分組操作的聚合。
  • GROUPING_ID - 回傳一個位元遮罩,用以識別哪些欄位被聚合在群組集合中。
  • PRODUCT - 回傳群組中非零值的乘積。
  • MAX - 返回群組中的最大值。
  • 中位數 - 回傳群組中各數值的中位數值。
  • MIN - 回傳群組中的最小值。
  • PERCENTILE_CONT - 根據欄位值的連續分布計算百分位數。
  • PERCENTILE_DISC - 計算整個行集或行集不同分割內排序值的特定百分位數。
  • 分位數 - 回傳對應特定分位數的值。
  • STDEV - 回傳群組中數值的樣本標準差。
  • STDEVP - 回傳群組中數值的母體標準差。
  • STRING_AGG - 將多列的字串值串接成單一字串。
  • SUM - 回傳群組中各值的總和。
  • VAR - 回傳該組中數值的樣本變異數。
  • VARP - 回傳群組中各值的母體變異數。