Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime
Gruptaki ikinci bir ifadenin en küçük değeriyle ilişkili bir ifadenin değerini döndürür. İsteğe bağlı üçüncü bağımsız değişkenle, sıralama ifadesinin en küçük değerlerine limit karşılık gelen en çok değer içeren bir dizi döndürür. Semantik, karşı sıralamaya sahip toplama işleviyle aynıdırmax_by.
Sözdizimi
min_by(expr, ordExpr) [FILTER ( WHERE cond ) ]
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime 18.1 ve üzeri
min_by(expr, ordExpr, limit) [FILTER ( WHERE cond ) ]
Bu işlev, pencere fonksiyonu olarak OVER yan tümcesi kullanılarak da çağrılabilir.
Argümanlar
- expr: Değeri döndürülecek ifade. Herhangi bir veri türü olabilir.
- ordExpr: En düşük değeri (sıralama anahtarı) belirlemek için kullanılan ifade. Sipariş edilebilir bir tür olmalıdır.
-
limit: (İsteğe bağlı)
INTDöndürülecek en fazla değer sayısını temsil eden değer. 0'dan büyük ve 100.000'den küçük veya buna eşit olmalıdır. Sağlandığında, işlev en çoklimitdeğer içeren bir dizi döndürür. - cond: Toplama için kullanılan satırları filtreleyerek isteğe bağlı bir boole ifadesi.
İadeler
olmadan limit, sonuç türü türüyle eşleşir expr. Birden çok satır aynı minimum değerine ordExprsahipse, sonuç belirleyici değildir.
ile limit: ARRAY öğesi türü türüyle eşleşen değerlerden biri expr. Dizi en çok limit öğe içerir. Sıralamalara NULL karşılık gelen değerler dahil değildir. Tüm sıralama değerleri ise NULL, sonuç olur NULL. Birden çok satır aynı en küçük değerleri paylaşıyorsa işlev belirleyici değildir.
Not
STRINGgibi belirli UTF8_LCASE harmanlamaları için sonuç da belirleyici olmayabilir.
Örnekler
> SELECT min_by(x, y) FROM VALUES (('a', 10)), (('b', 50)), (('c', 20)) AS tab(x, y);
a
> SELECT min_by(x, y, 2) FROM VALUES (('a', 10)), (('b', 50)), (('c', 20)) AS tab(x, y);
[a, c]
> SELECT min_by(x, y COLLATE UTF8_LCASE) FROM VALUES (('a', 'X')), (('b', 'x')), (('c', 'Z')) AS tab(x, y);
a (or b)