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]