Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Агрегатная функция
Область применения:
Databricks SQL
Databricks Runtime 11.3 LTS и выше
Возвращает наиболее частое значение, а не NULL, которое является значением expr в группе.
mode — это недетерминированная функция, если deterministic не задано значение true.
Синтаксис
mode(expr [, deterministic ]) [FILTER ( WHERE cond ) ]
Эту функцию также можно вызвать как функцию окна с помощью OVER предложения.
Аргументы
exprВыражение любого типа, которое можно сравнить.
deterministicВ Databricks SQL и Databricks Runtime 14.1 и выше. Необязательное
BOOLEANвыражение. Еслиtrueгарантирует детерминированный результат, если имеется несколько значений с одной частотой.condНеобязательное
BOOLEANвыражение, фильтрующее строки, используемые для агрегирования.
Возвраты
Тип результата соответствует типу аргумента.
Если группа содержит только значения NULL, функция возвращает NULL.
Результат недетерминирован, если для наиболее частого значения имеется такое же значение.
Заметка
Даже если deterministic задано значение true, результаты могут быть недетерминированными для некоторых STRING сортировок, таких как UTF8_LCASE.
Примеры
> SELECT mode(col) FROM VALUES (NULL), (1), (NULL), (2), (NULL), (3), (3) AS tab(col);
3
> SELECT mode(col) FROM VALUES (array(1, 2)), (array(1, 2)), (array(2, 3)) AS tab(col);
[1, 2]
-- The function returns either 1 or 2, but not 3
> SELECT mode(col) FROM VALUES (1), (1), (2), (2), (3) AS tab(col);
1
> SELECT mode(col) FROM VALUES (NULL), (NULL) AS tab(col);
NULL
> SELECT mode(col COLLATE UTF8_LCASE, true) FROM VALUES('a'), ('A'), ('b') AS tab(col);
a (or A)