適用対象:
Databricks SQL
Databricks Runtime
グループ内の指定された expr での percentage の正確なパーセンタイル値を返します。
構文
percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]
この関数は、ウィンドウ関数としてOVER句を使用して呼び出すこともできます。
議論
-
expr: 数値として評価される式。 -
percentage: 0 と 1 の間の数値式、または、それぞれが 0 と 1 の間の数値式のARRAY。 -
frequency: 0 より大きい任意の整数リテラル。 -
cond: 集計に使用される行をフィルター処理するオプションのブール式。
戻り値
DOUBLE が数値の場合は percentage、 ARRAY<DOUBLE> が percentage の場合は 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]