Clickhouse uniqExact聚合功能无法正常工作

Clickhouse uniqExact聚合功能无法正常工作,clickhouse,Clickhouse,我有这个模式的表 event_time DateTime, field1 String, field2 String, field3 String 我想使用SummingMergeTree引擎创建新表(table),以便为一些在线查询聚合数据。为此,我创建了如下表: 创建表聚合\u表( 事件日期时间, 字段1字符串, 字段2字符串, 记录编号UInt64, uniq_字段3_状态聚合函数(uniqExact,字符串) ) 引擎=总和合并树() 订购人(活动日、现场1、现场2); 之后,我将数

我有这个模式的表

event_time DateTime,
field1 String,
field2 String,
field3 String
我想使用
SummingMergeTree
引擎创建新表(
table
),以便为一些在线查询聚合数据。为此,我创建了如下表:

创建表聚合\u表(
事件日期时间,
字段1字符串,
字段2字符串,
记录编号UInt64,
uniq_字段3_状态聚合函数(uniqExact,字符串)
)
引擎=总和合并树()
订购人(活动日、现场1、现场2);
之后,我将数据插入新表:

插入到聚合表中
挑选
将开始日期(事件时间)作为事件日,
字段1,
字段2,
将(*)计数为请求数量,
uniqExactState(字段3)作为uniq_字段3_状态
从桌子上
按活动日、场1、场2分组;
现在,当我查询查找
field3
uniqExact
时:

select uniqExact(uniq_field3_state) from aggregated_table;
我的答案是:

┌─uniqExact(uniq_field3_state)─┐
│                       356948 │
└──────────────────────────────┘
┌─uniqExact(field3)─┐
│             15548 │
└───────────────────┘
但当我查询源表时,我的答案是:

┌─uniqExact(uniq_field3_state)─┐
│                       356948 │
└──────────────────────────────┘
┌─uniqExact(field3)─┐
│             15548 │
└───────────────────┘

此工作流有问题吗?

您必须通过-Merge或-finalize函数完成状态计算

在您的示例中,必须使用
uniqExactMerge
而不是uniqExact

select uniqExactMerge(uniq_field3_state) 
from aggregated_table;

必须通过-Merge或-finalize函数完成状态计算

在您的示例中,必须使用
uniqExactMerge
而不是uniqExact

select uniqExactMerge(uniq_field3_state) 
from aggregated_table;