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)] │
└─────────────────────────────────────┘
另请参阅