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

topKWeighted

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

Синтаксис

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

Параметры

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

Аргументы

  • column — Значение.
  • weight — Вес. Каждое значение учитывается weight раз при вычислении частоты. UInt64.

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

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

Пример

Запрос:

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']              │
└────────────────────────┘

Запрос:

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)]              │
└─────────────────────────────────────┘

См. также