全部產品
Search
文件中心

MaxCompute:PERCENTILE_CONT

更新時間:Nov 26, 2025

PERCENTILE_COUNT函數用於計算精確的百分位元,採用線性插值演算法,對指定列升序排列,返回精確的第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:必填。需要計算的百分位元。DOUBLE類型常量,取值在[0,1]範圍內。

  • isIgnoreNull:可選。是否忽略NULL值。BOOLEAN類型常量,預設為TRUE。若取值為FALSE,排序時NULL值會作為最小值。

  • partition_clauseorderby_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函數屬於彙總函式或視窗函數。

  • 更多將多條輸入記錄進行求平均值、參數彙總的相關函數請參見彙總函式

  • 更多對指定開窗列的資料進行求和、數值排序的相關函數請參見視窗函數