ubo*_*mbi 1 group-by clickhouse
我需要在不同的时隙上聚合时间序列数据(使用平均函数),例如:
今天
最近 X 天
上周末
本星期
过去 X 周
这个月
项目清单
等等...
Q1:可以在GROUP BY
语句中完成还是至少在单个查询中完成?
Q2:为此我需要任何物化视图吗?
表被分区Month
和分片UserID
所有查询都在UserID
(单个分片)内
使用 ROLLUP 分组
create table xrollup(metric Int64, b date, v Int64 ) engine=MergeTree partition by tuple() order by tuple();
insert into xrollup values (1,'2018-01-01', 1), (1,'2018-01-02', 1), (1,'2018-02-01', 1), (1,'2017-03-01', 1);
insert into xrollup values (2,'2018-01-01', 1), (2,'2018-02-02', 1);
SELECT metric, toYear(b) y, toYYYYMM(b) m, SUM(v) AS val
FROM xrollup
GROUP BY metric, y, m with ROLLUP
ORDER BY metric, y, m
??metric??????y????????m???val??
? 0 ? 0 ? 0 ? 6 ? overall
? 1 ? 0 ? 0 ? 4 ? overall by metric1
? 1 ? 2017 ? 0 ? 1 ? overall by metric1 for 2017
? 1 ? 2017 ? 201703 ? 1 ? overall by metric1 for march 2017
? 1 ? 2018 ? 0 ? 3 ?
? 1 ? 2018 ? 201801 ? 2 ?
? 1 ? 2018 ? 201802 ? 1 ?
? 2 ? 0 ? 0 ? 2 ?
? 2 ? 2018 ? 0 ? 2 ?
? 2 ? 2018 ? 201801 ? 1 ?
? 2 ? 2018 ? 201802 ? 1 ?
????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2193 次 |
最近记录: |