ClickHouse/docs/ru/sql-reference/aggregate-functions/reference/topk.md
Robert Schulze fa93952231
Docs: Reference external papers as DOIs
See also #31076 which noted that links were broken but didn't fix.
2022-09-28 12:21:58 +00:00

1.8 KiB
Raw Blame History

slug sidebar_position
/ru/sql-reference/aggregate-functions/reference/topk 108

topK

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

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

topK(N)(column)

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

Рекомендуем использовать значения N < 10, при больших N снижается производительность. Максимально возможное значение N = 65536.

Аргументы

  • N количество значений.
  • x столбец.

Пример

Возьмём набор данных OnTime и выберем 3 наиболее часто встречающихся значения в столбце AirlineID.

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