Tüm Ürünler
Search
Belge Merkezi

MaxCompute:PERCENTILE_CONT

Son Güncelleme:Oct 04, 2026

PERCENTILE_CONT işlevi, doğrusal enterpolasyon kullanarak kesin bir yüzdelik dilim hesaplar. Bir sütundaki değerleri artan düzende sıralar ve belirtilen percentile için enterpolasyon değeri döndürür.

Söz dizimi

-- As an aggregate function
PERCENTILE_CONT(<col_name>, DOUBLE <percentile>[, BOOLEAN <isIgnoreNull>])

-- As a window function
PERCENTILE_CONT(<col_name>, DOUBLE <percentile>[, BOOLEAN <isIgnoreNull>]) OVER ([partition_clause] [orderby_clause])

Parametreler

  • col_name: Gereklidir. DOUBLE veya DECIMAL türünde bir sütun.

  • percentile: Gereklidir. [0, 1] aralığında bir DOUBLE sabiti.

  • isIgnoreNull: İsteğe bağlıdır. NULL değerlerin yoksayılıp yoksayılmayacağını belirten bir BOOLEAN sabitidir. Varsayılan değer TRUE'dur. FALSE olarak ayarlandığında NULL değerler minimum değer olarak değerlendirilir.

  • partition_clause ve orderby_clause: Ayrıntılar için bkz. Window Functions.

Dönüş değeri

Hesaplanan yüzdelik dilimi DOUBLE türünde döndürür.

Örnekler

  • Örnek 1: NULL değerleri yoksayarak bir pencere içindeki kesin yüzdelik dilimleri hesaplayın.

    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;
    
    -- The following result is returned:
    +------------+-------------+------------+--------------+------------+
    | min        | percentile1 | median     | percentile90 | max        | 
    +------------+-------------+------------+--------------+------------+
    | 0.0        | 0.03        | 1.5        | 2.7          | 3.0        | 
    +------------+-------------+------------+--------------+------------+
  • Örnek 2: NULL değerlerini minimum değer olarak ele alarak bir pencere içindeki kesin yüzdelik dilimleri hesaplayın.

    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;
    
    -- The following result is returned:
    +------------+-------------+------------+--------------+------------+
    | min        | percentile1 | median     | percentile90 | max        | 
    +------------+-------------+------------+--------------+------------+
    | NULL       | 0.0         | 1.0        | 2.6          | 3.0        | 
    +------------+-------------+------------+--------------+------------+

İlgili işlevler

PERCENTILE_CONT, bir toplama işlevi veya pencere işlevi olarak kullanılabilir.

  • Birden çok kayıtta verileri toplayan diğer işlevler için bkz. Aggregate Functions.

  • Toplama ve sıralama gibi bir satır penceresi üzerinde hesaplama yapan diğer işlevler için bkz. Window Functions.