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