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

topKWeighted

topKWeighted

Введена в версии: v1.1

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

См. также

Синтаксис

topKWeighted(N)(column, weight)
topKWeighted(N, load_factor)(column, weight)
topKWeighted(N, load_factor, 'counts')(column, weight)

Параметры

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

Аргументы

  • column — Имя столбца, для которого требуется найти наиболее часто встречающиеся значения. - weight — Вес. Каждое значение учитывается weight раз при вычислении частоты. UInt64

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

Возвращает массив значений с максимальной приближённой суммой весов. Array

Примеры

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

SELECT topKWeighted(2)(k, w) FROM
VALUES('k Char, w UInt64', ('y', 1), ('y', 1), ('x', 5), ('y', 1), ('z', 10));
┌─topKWeighted(2)(k, w)──┐
│ ['z','x']              │
└────────────────────────┘

С параметром counts

SELECT topKWeighted(2, 10, 'counts')(k, w)
FROM VALUES('k Char, w UInt64', ('y', 1), ('y', 1), ('x', 5), ('y', 1), ('z', 10));
┌─topKWeighted(2, 10, 'counts')(k, w)─┐
│ [('z',10,0),('x',5,0)]              │
└─────────────────────────────────────┘

См. также