Агрегатная функция mode

Область применения:проверка помечены да 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. Результат недетерминирован, если для наиболее частого значения имеется такое же значение.

Примеры

> 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