【发布时间】:2017-05-15 19:53:57
【问题描述】:
我有一堆 IoT 传感器,它们可以将数据逐秒上传到 InfluxDB。由于他们的网络不可靠,有时他们不报告数据。
我正在尝试弄清楚如何确定 InfluxDB 中没有数据的时间段,并且遇到了一些带有子查询的古怪行为。
到目前为止我已经尝试过:
统计每秒的点数,例如:
select count(power)
from energy
where time < '2017-05-14T00:05:10Z'
and time >= '2017-05-14T00:04:30Z'
group by time(1s);
这看起来很有希望,因为它返回间隔中每一秒的结果和数据点的计数:
...
1494720297000000000 1
1494720298000000000 1
1494720299000000000 0
1494720300000000000 0
...
现在我只想要点数为 0 的时间段,但是当我尝试这样做时,只报告点数非零的时间段:
select "points"
from
(select count(power) as "points"
from energy
where time < '2017-05-14T00:05:10Z'
and time >= '2017-05-14T00:04:30Z'
group by time(1s));
返回:
...
1494720297000000000 1
1494720298000000000 1
在 1494720298000000000 之后没有数据返回,即使子查询确实返回了行。
在制定查询或方法以仅识别没有数据的时间区域时,我们将不胜感激。
【问题讨论】:
标签: influxdb