如何找到每天记录的最高温度
How to find the highest temperature recorded on each day
我正在研究 InfluxDb 并且有一个记录位置温度的时间序列数据。在这里我必须找到每天的最高温度和时间戳。
任务是:
- 求出 1 小时的平均温度。
- 然后从上述平均值中找出每天的最高温度。
我已经编写了一个查询,但没有得到所需的输出。
SELECT MAX(mean)
FROM (SELECT mean("value")
FROM "temperature"
WHERE ("location" = 'L1')
GROUP BY time(1h))
GROUP BY time(1d)
我得到的输出为:
time max
---- ---
2020-01-17T00:00:00Z 573.44
2020-01-16T00:00:00Z 674.44
我在这里获取时间戳,因为 00:00:00z 有没有办法获取准确时间,即如果 2020-01-17 13:00 小时的平均温度为 573.44 , 时间戳应该是2020-01-17T13:00:00Z
目前没有
GROUP BY
有效地删除了每个条目的时间戳。这就像分组间隔(例如当天)的所有数据都被放入没有时间戳的桶中。桶有一个时间戳 - 间隔的开始。
结果只有 GROUP BY
间隔开始的时间戳。
执行此操作的唯一方法是在应用程序中,而不是在后端。您可能想尝试一下;如果您只需要解决问题,例如最近 5 分钟,使用 GROUP BY time(5m)
进行查询。这样做可以缩小客户端检索的数据大小与后端处理时间。
我正在研究 InfluxDb 并且有一个记录位置温度的时间序列数据。在这里我必须找到每天的最高温度和时间戳。
任务是:
- 求出 1 小时的平均温度。
- 然后从上述平均值中找出每天的最高温度。
我已经编写了一个查询,但没有得到所需的输出。
SELECT MAX(mean)
FROM (SELECT mean("value")
FROM "temperature"
WHERE ("location" = 'L1')
GROUP BY time(1h))
GROUP BY time(1d)
我得到的输出为:
time max
---- ---
2020-01-17T00:00:00Z 573.44
2020-01-16T00:00:00Z 674.44
我在这里获取时间戳,因为 00:00:00z 有没有办法获取准确时间,即如果 2020-01-17 13:00 小时的平均温度为 573.44 , 时间戳应该是2020-01-17T13:00:00Z
目前没有
GROUP BY
有效地删除了每个条目的时间戳。这就像分组间隔(例如当天)的所有数据都被放入没有时间戳的桶中。桶有一个时间戳 - 间隔的开始。
结果只有 GROUP BY
间隔开始的时间戳。
执行此操作的唯一方法是在应用程序中,而不是在后端。您可能想尝试一下;如果您只需要解决问题,例如最近 5 分钟,使用 GROUP BY time(5m)
进行查询。这样做可以缩小客户端检索的数据大小与后端处理时间。