approx_top_sum
返回一个数组,其中包含指定列中近似最频繁的值及其计数。结果数组按值的近似频率降序排序(而不是按值本身排序)。此外,还考虑了值的权重。
approx_top_sum(N)(column, weight)
approx_top_sum(N, reserved)(column, weight)
此函数不提供保证的结果。在某些情况下,可能会发生错误,并且它可能会返回频繁值,但这些值可能不是最频繁的值。
我们建议使用 N < 10
的值;对于较大的 N
值,性能会降低。N
的最大值为 65536。
参数
N
— 要返回的元素数量。可选。默认值:10。reserved
— 定义为值保留多少个单元格。如果 uniq(column) > reserved,则 topK 函数的结果将是近似值。可选。默认值:N * 3。
参数
column
— 要计算频率的值。weight
— 权重。每个值在频率计算中被计算weight
次。UInt64。
示例
查询
SELECT approx_top_sum(2)(k, w)
FROM VALUES('k Char, w UInt64', ('y', 1), ('y', 1), ('x', 5), ('y', 1), ('z', 10))
结果
┌─approx_top_sum(2)(k, w)─┐
│ [('z',10,0),('x',5,0)] │
└─────────────────────────┘
另请参阅