跳到主要内容
跳到主要内容

minSimpleState

描述

SimpleState 组合器可以应用于 min 函数,以返回所有输入值中的最小值。它返回的结果类型为 SimpleAggregateFunction

示例用法

让我们看一个使用跟踪每日温度读数的表的实际例子。对于每个位置,我们希望保持记录的最低温度。使用 SimpleAggregateFunction 类型和 min,当遇到更低的温度时,存储的值会自动更新。

创建原始温度读数的源表:

创建将存储最低温度的聚合表:

创建一个增量物化视图,它将作为插入数据的触发器,并维护每个位置的最低和最高温度。

插入一些初始温度读数:

这些读数会被物化视图自动处理。让我们检查当前状态:

插入一些更多的数据:

查看新数据后的更新极值:

注意,上面我们为每个位置插入了两个值。这是因为分区片段尚未合并(并由 AggregatingMergeTree 聚合)。要从部分状态中获得最终结果,我们需要添加 GROUP BY

我们现在得到了预期的结果:

备注

使用 SimpleState,您无需使用 Merge 组合器来合并部分聚合状态。

另见