微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

InfluxQL:如何以不规则的间隔对多个流入测量进行平均?

如何解决InfluxQL:如何以不规则的间隔对多个流入测量进行平均?

使用 InfluxDB/Telegraf,我从我家每个房间的温度传感器收集测量值。对于每个传感器,这些测量值在不同时间到达。 我现在想计算任何给定时间的房屋平均温度,并将其显示在 Chronograf 仪表板中。

到目前为止我尝试了什么?

SELECT "val" FROM "temp" WHERE time > Now()-1h GROUP BY "sensor"

这为我提供了所有 5 个传感器的精美图表。

SELECT mean("val") AS "mean_val" FROM "temp" WHERE time > Now()-1h GROUP BY time(10m),"sensor" FILL(prevIoUs)

查询使我能够一致地报告每个间隔的值。每个房间的温度都是稳定的。我现在想计算总体平均值。

我现在可以使用这个表格来计算整个房子的平均温度。

时间 sensor1 sensor2 平均值(传感器1) 均值(sensor2) 平均
10:00 13 13 13
10:10 15 13 15 14
10:20 13 15 14

上表确实是我在运行 SELECT * FROM (SELECT mean("val") AS "mean_val" FROM "temp" WHERE time > Now()-1h GROUP BY time(10m),"sensor" FILL(prevIoUs)) 时得到的(减去“均值”列)

当我实际通过 SELECT mean("mean_val") FROM (SELECT mean("val") AS "mean_val" FROM "temp" WHERE time > Now()-1h GROUP BY time(10m),"sensor" FILL(prevIoUs)) GROUP BY time(10m) 添加“均值”列时,它似乎给出了以下(意外)结果:

时间 sensor1 sensor2 平均值(传感器1) 均值(sensor2) 平均
10:00 13 13 13
10:10 15 13 15 15
10:20 13 15 15

这是某种意外的优化或错误吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。