percentile_approx
集計関数
適用対象: 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
: 集計に使用される行をフィルター処理するブール式 (省略可能)。
戻り値
この集計関数は、expr
値の percentile
以下がその値以下になるように、(最小から最大の順に並べ替えられた) 順序付きグループ内の最小値である式を返します。
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