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