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 にあるのかもしれません。それとも、結果セットを取得した後にコードで実行する必要があるのでしょうか?