【发布时间】:2021-08-10 16:43:28
【问题描述】:
我正在构建一个 KPI 查看器,我必须在其中显示 5-6 年期间的某些汇总值。由于我对 CH 还很陌生,我非常依赖阅读文档,但有时找不到示例。
CREATE TABLE test1.table1
(
seriesId Int32,
amount Int64,
txt varchar(100)
) ENGINE = MergeTree()
order by (seriesId)
;
现在的目标是获得一个物化视图
- 系列中所有金额的总和
- 系列中所有金额的计数(不同)
- 分钟(数量)
- 最大(数量)
我已经想出了如何使用 SummingMergeTree 来解决 SUM 和计数部分(如果我仅为这 2 个聚合值创建单独的视图),但我无法计算出最小值和最大值。我得到的每个解决方案在视图上都有重复项。对于 SummingMergeTree,也可能存在重复项但它们最终会被合并,但对于 aggregatingMergeTree,我似乎无法将它们合并。
原始表有 aprox。 40 亿行
我的尝试是这样做
CREATE MATERIALIZED VIEW test1.MV1
ENGINE=AggregatingMergeTree()
ORDER BY seriesId
POPULATE
AS
SELECT
seriesId ,
sum(amount) as amt ,
min(amount) as minAmt,
max(amount) as maxAmt
from test1.table1 t
group by seriesId
现在这并不像我希望的那样起作用。
【问题讨论】:
标签: clickhouse