適用対象:
Databricks SQL
Databricks Runtime
グループ内の expr の近似パーセンタイルを返します。 この関数は、集計関数approx_percentileシノニムです。
構文
percentile_approx ( [ALL | DISTINCT ] expr, percentile [, accuracy] ) [FILTER ( WHERE cond ) ]
この関数は、 句を使用して OVERとして呼び出すこともできます。
引数
-
expr: 数値式。 -
percentile: 0 から 1 までの数値リテラル、または 0 から 1 までの数値のリテラル配列。 -
accuracy: 0 より大きい整数リテラル。 accuracy を省略すると、10000に設定されます。 -
cond: 集計に使用される行をフィルター処理するブール式 (省略可能)。
戻り値
この集計関数は、percentile 値の expr 以下がその値以下になるように、(最小から最大の順に並べ替えられた) 順序付きグループ内の最小値である式を返します。
percentile が配列の場合、percentile_approx は expr の近似パーセンタイル配列が指定されたパーセンタイルで返されます。
accuracy パラメーターを使用すると、メモリを使って近似精度が制御されます。
accuracy の値が大きいほど、精度が向上します。1.0/accuracy は近似の相対誤差です。
DISTINCT が指定されている場合、この関数は expr 値の一意のセットでのみ動作します。
例
> SELECT percentile_approx(col, array(0.5, 0.4, 0.1), 100)
FROM VALUES (0), (1), (2), (10) AS tab(col);
[1,1,0]
> SELECT percentile_approx(col, 0.5, 100)
FROM VALUES (0), (6), (7), (9), (10), (10), (10) AS tab(col);
9
> SELECT percentile_approx(DISTINCT col, 0.5, 100)
FROM VALUES (0), (6), (7), (9), (10), (10), (10) AS tab(col);
7