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

topK

Добавленный в: v1.1.0 Возвращает массив приблизительно самых часто встречающихся значений в указанном столбце. Результирующий массив сортируется по убыванию приблизительной частоты значений (а не по самим значениям). Реализует алгоритм 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 Примеры Пример использования
Query
SELECT topK(3)(AirlineID) AS res
FROM ontime;
Response
┌─res─────────────────┐
│ [19393,19790,19805] │
└─────────────────────┘
См. также
Последнее изменение 10 июня 2026 г.