我正在尝试编写一个查询来获取 Clickhouse 中结果集的每一行的聚合指标。这个想法是,对于与分组 ID 匹配的每一行,我想为当前行之后的 60 秒选择一个时间窗口并获得某个值列的总和,但到目前为止,我一直无法弄清楚要实现的查询这个。以下是我尝试使用连接但出现错误的示例。我认为这归结为无法从外部查询访问子查询列:
select time, groupID, value, summed.addedValue
from Events
where groupID = 1234 as current
any inner join
select groupID, sum(value) as addedValue
from Events
where groupID = 1234 and time < (current.time + 60) and time > current.time
group by groupID as summed
我想知道这种查询是否可以实现?它本质上是一个滑动 60 秒的窗口来获取总和值,但我希望它覆盖每个可能的 60 秒窗口,这就是为什么我要为每一行计算它的原因。也许 Clickhouse 中有一个函数可以实现这样的功能,或者在我们获得结果集后我必须在代码中执行此操作吗?