Агрегатная функция min_by
Область применения: Databricks SQL Databricks Runtime
Возвращает значение expr1
, связанное с минимальным значением expr2
в группе.
Синтаксис
min_by(expr1, expr2) [FILTER ( WHERE cond ) ]
Эту функцию также можно вызвать как функцию окна с помощью OVER
предложения.
Аргументы
-
expr1
: выражение любого типа. -
expr2
: выражение типа, который может быть упорядочен. -
cond
: необязательное логическое выражение для фильтрации строк, используемых для агрегирования.
Возвраты
Тип результата соответствует типу expr1
.
Эта функция имеет недетерминированное поведение, если expr2
не является уникальным в пределах группы.
Заметка
Для определенных STRING
сортировок, таких как UTF8_LCASE
, результат может быть недетерминированным.
Примеры
> SELECT min_by(x, y) FROM VALUES (('a', 10)), (('b', 50)), (('c', 20)) AS tab(x, y);
a
> SELECT min_by(x, y COLLATE UTF8_LCASE) FROM VALUES (('a', 'X')), (('b', 'x')), (('c', 'Z')) AS tab(x, y);
a (or b)