【发布时间】:2018-03-04 05:40:54
【问题描述】:
我在 influxdb 数据库中有来自门传感器的数据。这是一个布尔型传感器(门打开(值为false)或关闭(值为true)),表格如下:
name: door
--------------
time value
1506026143659488953 true
1506026183699139512 false
1506026751433484237 true
1506026761473122666 false
1506043848850764808 true
1506043887602743375 false
我想计算在给定时间段内门打开了多长时间。 ELAPSED 函数让我很接近,但我不确定如何(a)将其限制为仅初始值为 false 的区间,或(b)从类似select elapsed(value, 1s) from door。
我希望我可以这样做:
select elapsed(value, 1s), first(value) from door
但这并没有给我任何有用的东西:
name: door
--------------
time elapsed first
0 true
1506026183699139512 40
1506026751433484237 567
1506026761473122666 10
1506043848850764808 17087
1506043887602743375 38
我希望有更多类似的东西:
name: door
--------------
time elapsed first
1506026183699139512 40 true
1506026751433484237 567 false
1506026761473122666 10 true
1506043848850764808 17087 false
1506043887602743375 38 true
没有自己提取数据并在例如python,有没有办法通过influxdb查询来做到这一点?
【问题讨论】:
-
今天似乎不支持它 - stackoverflow.com/questions/27959196/…。缺乏本机查询支持也意味着无法在 Grafana 等可视化工具中显示此信息。我只是让它与客户端处理一起使用,并将额外的信息添加到可用于在 Grafana 中渲染的测量中。
标签: influxdb