percentile
集計関数
適用対象: Databricks SQL Databricks Runtime
グループ内の指定された percentage
での expr
の正確なパーセンタイル値を返します。
構文
percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]
この関数は、OVER
句を使用して ウィンドウ 関数として呼び出すこともできます。
引数
expr
: 数値に評価される式。percentage
: 0 から 1 の数値式、または数値式 (それぞれ 0 から 1) の配列。frequency
: 0 より大きい省略可能な整数リテラル。cond
: 集計に使用される行をフィルター処理するブール式 (省略可能)。
戻り値
percentage
が数値の場合は DOUBLE。percentage
が ARRAY の場合は DOUBLE の ARRAY。
frequency には、expr
をカウントする必要がある回数を記述します。 特定の値に対する frequency が 10 であれば、ウィンドウには、frequency が 1 のときにその値が 10 回出現することになります。
既定の frequency は 1 です。
DISTINCT
が指定されている場合、この関数は expr
値の一意のセットでのみ動作します。
例
> SELECT percentile(col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
6.0
> SELECT percentile(DISTINCT col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
3.0
> SELECT percentile(col, 0.3, freq) FROM VALUES (0, 1), (10, 2) AS tab(col, freq);
6.0
> SELECT percentile(col, array(0.25, 0.75)) FROM VALUES (0), (10) AS tab(col);
[2.5,7.5]