跳转到主要内容

说明

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

示例用法

让我们通过一个跟踪每日温度读数的表来看一个实际示例。对于每个位置,我们都希望保留已记录的最低温度。 使用带有 minSimpleAggregateFunction 类型时,在遇到更低温度时会自动更新 存储的值。 创建用于存储原始温度读数的源表:
创建用于存储最低温度的聚合表:
创建一个增量materialized view,使其作为已插入数据的插入触发器, 并维护每个位置的最低和最高温度值。
插入一些初始温度读数:
这些读数会由 materialized view 自动处理。我们来检查一下 当前状态:
再插入一些数据:
查看新增数据后的最新极值:
请注意,上面每个位置都有两个插入值。这是因为 parts 还没有合并 (并由 AggregatingMergeTree 聚合) 。要从这些部分状态中得到 最终结果,我们需要添加一个 GROUP BY
现在我们得到了预期的结果:
使用 SimpleState 时,无需使用 Merge 组合器来合并 部分聚合状态。

另请参阅

最后修改于 2026年7月2日