Перейти к основному содержимому
Перейти к основному содержимому

topK

topK

Впервые представлен в: v1.1

Возвращает массив приблизительно наиболее часто встречающихся значений в указанном столбце. Полученный массив отсортирован по убыванию приблизительной частоты значений (не по самим значениям).

Реализует алгоритм Filtered Space-Saving для анализа TopK, основанный на алгоритме reduce-and-combine из Parallel Space Saving.

Эта функция не гарантирует точный результат. В некоторых ситуациях возможны погрешности, и она может вернуть часто встречающиеся значения, которые не являются наиболее частыми.

См. также

Синтаксис

topK(N)(column)
topK(N, load_factor)(column)
topK(N, load_factor, 'counts')(column)

Параметры

  • N — Количество возвращаемых элементов. Значение по умолчанию: 10. Максимальное значение N = 65536. UInt64
  • load_factor — Необязательный параметр. Определяет, сколько ячеек резервируется под значения. Если uniq(column) > N * load_factor, результат функции topK будет приблизительным. Значение по умолчанию: 3. UInt64
  • counts — Необязательный параметр. Определяет, должен ли результат содержать приблизительное количество и величину погрешности. Bool

Аргументы

  • column — Имя столбца, для которого нужно найти наиболее часто встречающиеся значения. String

Возвращаемое значение

Возвращает массив приблизительно наиболее часто встречающихся значений, отсортированных в порядке убывания приблизительной частоты. Array

Примеры

Пример использования

SELECT topK(3)(AirlineID) AS res
FROM ontime;
┌─res─────────────────┐
│ [19393,19790,19805] │
└─────────────────────┘

См. также