创建明细与聚合表:CREATE TABLE events ( ts DateTime, uid UInt64, category LowCardinality(String) ) ENGINE = MergeTree() PARTITION BY toYYYYMM(ts) ORDER BY (ts, uid); CREATE TABLE events_agg ( month Date, category LowCardinality(String), cnt AggregateFunction(count) ) ENGINE = AggregatingMergeTree() PARTITION BY month ORDER BY (month, category); 创建物化视图做预聚合:CREATE MATERIALIZED VIEW mv_events_agg TO events_agg AS SELECT toStartOfMonth(ts) AS month, category, countState() AS cnt FROM events GROUP BY month, category; 查询聚合结果:SELECT month, category, finalizeAggregation(cnt) AS total FROM events_agg ORDER BY month DESC, category LIMIT 10;

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.869459s