Aracılığıyla paylaş


approx_percentile 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.

Sözdizimi

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

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

Tartışmalar

  • 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 INTEGER büyük bir değişmez değer. Doğruluk parametresi atlanırsa, 10000 olarak ayarlanır.
  • cond: Toplama için kullanılan satırları filtrelemek amacıyla kullanılabilen, isteğe bağlı bir mantıksal 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ış) percentile değerlerin en fazla expr değerden küçük veya bu değere eşit olmayan ifadeyi döndürür.

Eğer percentile bir dizi ise, approx_percentile, expr'nin percentile konumundaki yaklaşık yüzdelik dizisini 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. Bu işlev, percentile_approx toplama işlevi için bir eş anlamlıdır.

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

Örnekler

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

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

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