すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:PERCENTILE_CONT

最終更新日:Nov 27, 2025

PERCENTILE_CONT 関数は、線形補間アルゴリズムを使用して正確なパーセンタイル値を計算します。この関数は、指定された列の値を昇順にソートし、指定された パーセンタイルの値を返します。

コマンドフォーマット

-- 正確なパーセンタイルを計算します。
PERCENTILE_CONT(<col_name>, DOUBLE <percentile>[, BOOLEAN <isIgnoreNull>])

-- ウィンドウ内の正確なパーセンタイルを計算します。
PERCENTILE_CONT(<col_name>, DOUBLE <percentile>[, BOOLEAN <isIgnoreNull>]) OVER ([partition_clause] [orderby_clause])

パラメーター

  • col_name:必須。`DOUBLE` 型または `DECIMAL` 型の列。

  • percentile:必須。計算するパーセンタイル。このパラメーターは `DOUBLE` 定数で、値は `[0, 1]` の範囲内である必要があります。

  • isIgnoreNull:任意。`NULL` 値を無視するかどうかを指定します。このパラメーターは `BOOLEAN` 定数です。デフォルト値は `TRUE` です。このパラメーターを `FALSE` に設定すると、ソート中に `NULL` 値が最小値として扱われます。

  • partition_clause および orderby_clause:詳細については、「ウィンドウ関数」をご参照ください。

戻り値

計算されたパーセンタイルを `DOUBLE` 値として返します。

  • 例 1:ウィンドウ内の正確なパーセンタイルを計算し、`NULL` 値を無視します。

    SELECT
      PERCENTILE_CONT(x, 0) OVER() AS min,
      PERCENTILE_CONT(x, 0.01) OVER() AS percentile1,
      PERCENTILE_CONT(x, 0.5) OVER() AS median,
      PERCENTILE_CONT(x, 0.9) OVER() AS percentile90,
      PERCENTILE_CONT(x, 1) OVER() AS max
    FROM VALUES(0D),(3D),(NULL),(1D),(2D) AS tbl(x) LIMIT 1;
    
    -- 次の結果が返されます。
    +------------+-------------+------------+--------------+------------+
    | min        | percentile1 | median     | percentile90 | max        | 
    +------------+-------------+------------+--------------+------------+
    | 0.0        | 0.03        | 1.5        | 2.7          | 3.0        | 
    +------------+-------------+------------+--------------+------------+
  • 例 2:ウィンドウ内の正確なパーセンタイルを計算し、`NULL` 値を無視しません。この場合、ソート中に `NULL` 値が最小値として扱われます。

    SELECT
      PERCENTILE_CONT(x, 0, false) OVER() AS min,
      PERCENTILE_CONT(x, 0.01, false) OVER() AS percentile1,
      PERCENTILE_CONT(x, 0.5, false) OVER() AS median,
      PERCENTILE_CONT(x, 0.9, false) OVER() AS percentile90,
      PERCENTILE_CONT(x, 1, false) OVER() AS max
    FROM VALUES(0D),(3D),(NULL),(1D),(2D) AS tbl(x) LIMIT 1;
    
    -- 次の結果が返されます。
    +------------+-------------+------------+--------------+------------+
    | min        | percentile1 | median     | percentile90 | max        | 
    +------------+-------------+------------+--------------+------------+
    | NULL       | 0.0         | 1.0        | 2.6          | 3.0        | 
    +------------+-------------+------------+--------------+------------+

関連関数

PERCENTILE_CONT は集計関数であり、ウィンドウ関数でもあります。

  • 平均値の計算など、複数の入力レコードを集計する関数の詳細については、「集計関数」をご参照ください。

  • 合計や数値ソートなど、ウィンドウ内のデータに対して計算を実行する関数の詳細については、「ウィンドウ関数」をご参照ください。