0

我们是一家新的 Adtech 公司,我正计划设计一个数据库,我将在其中将所有数据拉到一个表中,然后创建具有物化视图的新表,以供其他人生成多个报告。

假设由于多种原因我们有库存、印象、视图。

在此处输入图像描述

我们的主表看起来像这样,重新创建这个

CREATE TABLE report.empty_summing (times DateTime64,inventory_id String,city Nullable(String), country Nullable(String),inventory Int32 default 0, impression Int32 default 0, views Int32 default 0) ENGINE=SummingMergeTree() primary key inventory_id;

当一个请求来自 google ADX 到我们的 Adengine 时,它​​有一个唯一的 id,即“inventory_id”和其他参数,如国家、城市......其他字符串类型的参数被插入。

当插入 3 种类型的数据时,它看起来像这样。

在此处输入图像描述

您可以看到每一行都插入了它们的值,但我想

我们的库存请求插入看起来像这样。

INSERT INTO report.empty_summing (times,inventory_id,country,city,inventory,impression,views) VALUES (now(),'7120426e6abd0b04ec8c777460a78bdf4b9de0','Bangladesh','Dhaka',1,0,0);

我们的印象插页看起来像这样。

INSERT INTO report.empty_summing (times,inventory_id,impression) VALUES (now(),'7120426e6abd0b04ec8c777460a78bdf4b9de0',1);

我们的视图插入看起来像这样。

INSERT INTO report.empty_summing (times,inventory_id,views) VALUES (now(),'7120426e6abd0b04ec8c777460a78bdf4b9de0',1);

您可以看到所有这些行的“inventory_id”都是相同的。是否有任何数据库引擎或任何我可以使用的技术来合并数据并看起来像这样?

在此处输入图像描述

非常感谢您的帮助。提前致谢!

4

1 回答 1

0

SimpleAggregateFunction(任意,可空(字符串))

https://github.com/ClickHouse/ClickHouse/issues/28073#issuecomment-905151779

https://gist.github.com/den-crane/d03524eadbbce0bafa528101afa8f794

于 2021-08-25T03:24:10.683 回答