適用於:
Databricks SQL
Databricks Runtime 11.3 LTS 和更新版本
傳回從群組值計算的中位數。
語法
median ( [ALL | DISTINCT] expr ) [FILTER ( WHERE cond ) ]
引數
-
expr:可評估為數值或間隔的表達式。 -
cond:選擇性布爾表示式,篩選用於匯總的數據列。
退貨
下列說明如何計算結果類型:
- 年月間隔:結果為
INTERVAL YEAR TO MONTH。 - 日間時段:結果是
INTERVAL DAY TO SECOND。 - 在所有其他情況下,結果是
DOUBLE。
群組中的空值將被忽略。 如果群組是空的,或只包含 Null,則結果為 NULL。
如果 DISTINCT 已指定,則會移除重複專案,並計算中位數。
此函式與 PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY expr)同義。
範例
> SELECT median(col) FROM VALUES (1), (2), (2), (3), (4), (NULL) AS tab(col);
2
> SELECT median(DISTINCT col) FROM VALUES (1), (2), (2), (3), (4), (NULL) AS tab(col);
2.5
> SELECT median(col) FROM VALUES (INTERVAL '1' YEAR), (INTERVAL '2' YEAR) AS tab(col);
1-6