median
集計関数
適用対象: Databricks SQL Databricks Runtime 11.3 LTS 以降
グループの値から計算された中央値を返します。
構文
median ( [ALL | DISTINCT] expr ) [FILTER ( WHERE cond ) ]
この関数は、OVER
句を使用して ウィンドウ 関数として呼び出すこともできます。
引数
expr
: 数値または間隔に評価される式。cond
: 集計に使用される行をフィルター処理するブール式 (省略可能)。
戻り値
結果の型がどのように計算されるかについて、以下で説明します。
- 年月間隔: 結果は
INTERVAL YEAR TO MONTH
です。 - 日時間隔: 結果は
INTERVAL DAY TO SECOND
です。 - それ以外の場合、結果は DOUBLE 値になります。
グループ内の null 値は無視されます。 グループが空の場合、または 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.0
> 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