这是我的数据示例:
> SELECT time, value from task Limit 5;
name: task
time value
---- -----
1540149422155456967 0
1540149423155456967 1
1540151481498019507 1
1540151482498019507 0
1540151680870649288 0
我有一个布尔编码为1
or的测量值0
。我想计算图表下的总面积 - 但我不知道该怎么做?
您可以将此值视为水泵打开或关闭的指示 - 打开时水流的速率始终相等。我想计算/图表。输出的“累积”总水量。
我想过,cumulative_sum
但这并没有真正返回我想要的结果:
> SELECT cumulative_sum("value") from task Limit 5;
name: task
time cumulative_sum
---- --------------
1540149422155456967 0
1540149423155456967 1
1540151481498019507 2
1540151482498019507 2
1540151680870649288 2
我也考虑过这个integral
函数,但返回的值看起来很奇怪?
> SELECT integral("value") from task GROUP BY time(1s) Limit 5;
name: task
time integral
---- --------
1540149422000000000 0.35662646729441955
1540149423000000000 0.9879165657055804
1540151481000000000 2057.874007792324
1540151482000000000 0.12401171467626151
1540151680000000000 0.008365803347453472
如果有更合适的方式来编码这些数据,那么我也可以这样做。