共用方式為


mean 聚合函數

適用於: 核取記號為「是」Databricks SQL 核取記號為「是」Databricks Runtime

傳回從群組值計算的平均值。 此函式與avg聚合函數義。

語法

mean ( [ALL | DISTINCT] expr ) [FILTER ( WHERE cond ) ]

您也可以使用 子句,將此函式叫用OVER視窗函式。

引數

  • expr:評估為數值的表達式。
  • cond:選擇性布爾表示式,篩選用於匯總的數據列。

傳回

結果類型會計算為 自變數:

  • DECIMAL(p, s):結果類型為 DECIMAL(p + 4, s + 4) 。 如果達到 DECIMAL 的最大有效位數,小數位數增加會受到限制,以避免遺失有效位數。
  • 年月間隔:結果為 INTERVAL YEAR TO MONTH
  • 時間間隔:結果是 INTERVAL DAY TO SECOND
  • 在其他所有情況下,結果都是 DOUBLE。

會忽略群組內的 Null。 如果群組是空的,或只包含 Null,則結果為 NULL。

如果 DISTINCT 指定 ,則會在移除重複項目之後計算平均值。

警告

在 Databricks Runtime 中,如果 spark.sql.ansi.enabledfalse,則溢位會 NULL 傳回而不是錯誤。

範例

> SELECT mean(col) FROM VALUES (1), (2), (3) AS tab(col);
 2.0

> SELECT mean(DISTINCT col) FROM VALUES (1), (1), (2), (NULL) AS tab(col);
 1.5

> SELECT mean(col) FROM VALUES (1), (2), (NULL) AS tab(col);
 1.5