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

MaxCompute:PERCENTILE_CONT

最終更新日:Jun 24, 2026

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

構文

-- 集計関数として使用する場合
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:必須。[0, 1] の範囲内の DOUBLE 定数です。

  • 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 値を最小値として扱い、ウィンドウ内で正確なパーセンタイルを計算します。

    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 は、集計関数またはウィンドウ関数として使用できます。

  • 複数のレコードにわたるデータを集計するその他の関数については、「集計関数」をご参照ください。

  • 行のウィンドウにわたって合計やランキングなどの計算を実行するその他の関数については、「ウィンドウ関数」をご参照ください。