percentile_approx toplama işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

Grup içindeki değerinin expr yaklaşık yüzdebirlik değerini döndürür. Bu işlev, toplama işlevinin eş anlamlısıdırapprox_percentile.

Sözdizimi

percentile_approx ( [ALL | DISTINCT ] expr, percentile [, accuracy] ) [FILTER ( WHERE cond ) ]

Bu işlev, yan tümcesi kullanılarak OVER pencere işlevi olarak da çağrılabilir.

Argümanlar

  • expr: Sayısal ifade.
  • percentile: 0 ile 1 arasında bir sayısal değişmez değer veya her biri 0 ile 1 arasında sayısal değerlerden oluşan değişmez değer dizisi.
  • accuracy: 0'dan büyük bir INTEGER değişmez değeri. Doğruluk atlanırsa 10000olarak ayarlanır.
  • cond: Toplama için kullanılan satırları filtreleyen isteğe bağlı bir boole ifadesi.

İadeler

Toplama işlevi, sıralı gruptaki en küçük değer olan (en küçükten en büyüğe doğru sıralanmış) ifadeyi döndürür; böylece percentile değerlerin en fazla expr değerden küçük veya bu değere eşit olmaz. Eğer percentile bir dizi percentile_approx ise, belirtilen yüzdelikteki expr'in yaklaşık yüzdelik dizisini geri döndürür.

accuracy parametresi, bellek maliyetine göre yaklaşık doğruluğu denetler. Daha yüksek doğruluk değeri daha iyi doğruluk verir, 1.0/accuracy yaklaşık değerin göreli hatasıdır.

DISTINCT belirtilirse işlev yalnızca benzersiz bir expr değerleri kümesinde çalışır.

Örnekler

> SELECT percentile_approx(col, array(0.5, 0.4, 0.1), 100)
    FROM VALUES (0), (1), (2), (10) AS tab(col);
 [1,1,0]

> SELECT percentile_approx(col, 0.5, 100)
    FROM VALUES (0), (6), (7), (9), (10), (10), (10) AS tab(col);
 9

> SELECT percentile_approx(DISTINCT col, 0.5, 100)
    FROM VALUES (0), (6), (7), (9), (10), (10), (10) AS tab(col);
 7