按时间细分聚合值,同时将函数应用于先前的数据点

Segment aggregate value by time while applying function to previous data points

一些基本的东西:我正在尝试创建一个 "running" 查询,其中对于每个数据点,我得到平均值和到该点的计数以及值。例如,对于这些测量值:

hunger=1 1001
hunger=3 1002
hunger=5 1003
hunger=20 1004

我想生成如下所示的 csv:

timestamp, hunger, mean, count,
1001, 1, 1, 1
1002, 3, 2, 2,
1003, 5, 3, 3
1004, 20, 7.25, 4

由于这是聚合和选择器查询的混合,我在单独的查询中有 "hunger",然后是均值和计数。但是,如果我按 time(1s) 对两者进行分组,则我的均值和计数将仅与组大小相关;我需要它与到那时为止的整个设置相关...有什么建议吗?

你可以这样试试:

SELECT last(hunger), cumulative_sum(last(hunger)) / cumulative_sum(count(hunger)), cumulative_sum(count(hunger)) FROM hungerMeasurement group by time(1s)