ClickHouse 实时数据去重查询argMax +group by

clickhouse查询数据去重筛选出最后一次创建时间的数据。

-- 按天去重,选择最后一次插入数据
 select argMax(toDate(tdba.start_date),tdba.start_date) as reportDate,argMax(tdba.username,tdba.start_date) as username,
 from testdata tdba 
 group by toDate(start_date)
 ORDER by toDate(start_date) DESC

对clickhouse数据库执行建表语句时快速去重
在创建数据表时:

#创建本地表:
CREATE TABLE default.t_test ON CLUSTER ck_cluster
(
 `request_id` String COMMENT '提案id',
 `login_name` String COMMENT '玩家名称',
 `last_update` DateTime COMMENT '更新时间',
 `created_date` DateTime DEFAULT now() COMMENT '创建时间'
)
ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}')
PARTITION BY toYYYYMMDD(created_date)
ORDER BY request_id
SETTINGS index_granularity = 8192,max_parts_in_total = 250000;
#创建分布式表:
CREATE TABLE default.t_test ON CLUSTER ck_cluster AS default.t_test
ENGINE = Distributed(ck_cluster, default, t_test, rand())

//ON CLUSTER ck_cluster:创建分布式
//ENGINE 引擎ReplicatedReplacingMergeTree:引擎可以支持去重
//PARTITION BY:按什么分区表创建
//index_granularity :索引间隔粒度,每index_granularity个数据产生一条索引
//max_parts_in_total :最大分区数量

optimize table testdata final;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值