AggregatingMergeTree 物化视图下使用

CREATE TABLE default.test_2_all
(

    `id` Int64 DEFAULT 0 COMMENT '序号',
.....
name, phone, idcard,code
)

这里创建一张表里面有多个字段,其中有个id类型为Int64

下面建立一个物化视图,引擎使用aggregatingMergeTree,使用POPULATE隐式创建,这里select中聚合的方法要加-state后缀:

create materialized view mv_tbl_mv
(
    `id`         Int64,

    `name`        String,

    `phone`      String,

    `idcard`     String,

    `code`      String,
    `cost`      AggregateFunction(sum, Int64),
    `max_dwell_time`  AggregateFunction(max, Int64),
    `min_dwell_time` AggregateFunction(min,Int64)
)
ENGINE = AggregatingMergeTree()
PARTITION BY tuple() ORDER BY (id) POPULATE
AS SELECT
 id, name, phone, idcard, code ,
    sumState(id) AS c,
    maxState(id) AS max_c,
    minState(id) AS min_c

FROM test_2_all ta
GROUP BY id,name,phone,idcard,code

在视图表中看到其他三个字段的类型为AggregateFunction,也就是查询时需要使用聚合方法 加 -Merge:

select sumMerge(cost) from mv_tbl_mv mtm

Reference:

AggregateFunction | ClickHouse Docs

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值