如何找到每天记录的最高温度

How to find the highest temperature recorded on each day

我正在研究 InfluxDb 并且有一个记录位置温度的时间序列数据。在这里我必须找到每天的最高温度和时间戳。

任务是:

我已经编写了一个查询,但没有得到所需的输出。

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) 进行查询。这样做可以缩小客户端检索的数据大小与后端处理时间。