- 类别:
/sql-reference/functions-aggregation`(频率估算)、:doc:/sql-reference/functions-window`
APPROX_TOP_K¶
使用 Space-Saving 返回输入中出现频率最高的值的近似值,以及其近似频率。
输出是一个由数组组成的 JSON 数组。在内部数组中,第一个条目是输入中的一个值,第二个条目对应于其在输入中的估计频率。外部数组包含 k 项目(按频率降序排序)。
有关 APPROX_TOP_K 的更多信息,请参阅 估计频次值。
语法¶
聚合函数
窗口函数
实参¶
expr:要查找最常见值的表达式(例如,列名称)。k:要近似其计数的值数。例如,如果您想查看前 10 个最常见的值,则将k设置为 10。如果省略
k,默认值为1。最大值为
100000(100,000),如果输出中无法容纳项目,该值将自动减小。counters:这是在估算过程中一次可以跟踪的非重复值数量上限。例如,如果counters设置为 100000,则算法将跟踪 100000 个不同值,尝试保留 100000 个比较频繁的值。counters的数量上限是100000(100000)。
expr4这是可选表达式,用于将行分组到分区。
使用说明¶
如果
counters的数量较多,近似值会更准确,因此在大多数情况下,counters数量应该比k大得多。(每个计数器只占用少量内存,因此增加计数器的数量不会占用大量内存)。
当此函数作为窗口函数调用时,它不支持:
OVER 子句中的 ORDER BY 子句。
显式窗口框架。
不支持小数浮点数 (DECFLOAT) 值。