| 引擎参数 | SummingMergeTree([columns]),不指定时对所有非排序键数值列求和 |
|---|---|
| 合并语义 | 仅合并时生效、按排序键聚合;其余列取任意一行值(不确定) |
| 读取兜底 | 未合并数据仍有重复键,查询需 SUM + GROUP BY 或 FINAL |
示例
示例
CREATE TABLE daily_sales
(
d Date,
shop_id UInt64,
orders UInt64,
amount Decimal(18, 2)
)
ENGINE = SummingMergeTree((orders, amount))
ORDER BY (d, shop_id);
INSERT INTO daily_sales VALUES (today(), 1, 1, 9.9), (today(), 1, 2, 19.8);
SELECT d, shop_id, sum(orders), sum(amount)
FROM daily_sales
GROUP BY d, shop_id;它不维护中间聚合状态,适合可加性指标(计数、金额);平均值这类不可加指标应存分子分母或用 AggregatingMergeTree。