minSimpleState
描述
SimpleState
组合器可以应用于 min
函数,以返回所有输入值中的最小值。它返回的结果类型为 SimpleAggregateFunction
。
示例用法
让我们看一个使用跟踪每日温度读数的表的实际例子。对于每个位置,我们希望保持记录的最低温度。使用 SimpleAggregateFunction
类型和 min
,当遇到更低的温度时,存储的值会自动更新。
创建原始温度读数的源表:
创建将存储最低温度的聚合表:
创建一个增量物化视图,它将作为插入数据的触发器,并维护每个位置的最低和最高温度。
插入一些初始温度读数:
这些读数会被物化视图自动处理。让我们检查当前状态:
插入一些更多的数据:
查看新数据后的更新极值:
注意,上面我们为每个位置插入了两个值。这是因为分区片段尚未合并(并由 AggregatingMergeTree
聚合)。要从部分状态中获得最终结果,我们需要添加 GROUP BY
:
我们现在得到了预期的结果:
备注
使用 SimpleState
,您无需使用 Merge
组合器来合并部分聚合状态。