如何解决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 举报,一经查实,本站将立刻删除。