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

approx_top_k

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

approx_top_k(N)(столбец)
approx_top_k(N, reserved)(столбец)

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

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

Параметры

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

Аргументы

  • column — Значение, для которого вычисляется частота.

Пример

Запрос:

SELECT approx_top_k(2)(k)
FROM VALUES('k Char, w UInt64', ('y', 1), ('y', 1), ('x', 5), ('y', 1), ('z', 10));

Результат:

┌─approx_top_k(2)(k)────┐
│ [('y',3,0),('x',1,0)] │
└───────────────────────┘

approx_top_count

Является синонимом функции approx_top_k

См. также