如何在InfluxDB中找到没有数据点的时间间隔

时间:2017-05-15 19:53:57

标签: influxdb

我有一堆物联网传感器,可以将第二个数据上传到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后没有数据,即使子查询确实返回了行。

在制作查询或方法时,只需识别没有数据的时间区域,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

在查询后添加填充(无)

示例 - 从能量中选择计数(功率),其中时间&lt; '2017-05-14T00:05:10Z'和时间&gt; ='2017-05-14T00:04:30Z'按时间分组(1s)填充(无)