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

Influxdb 如何找到每天记录的最高温度,influxdb,Influxdb,我正在研究XDB,有一个时间序列数据记录一个位置的温度。在这里,我必须找到每天的最高温度和时间戳 任务是: 以1小时为基础计算平均温度 然后从上述平均值中找出每天的最高温度 我已经写了一个查询,但是没有得到所需的输出 SELECT MAX(mean) FROM (SELECT mean("value") FROM "temperature" WHERE ("location" = 'L1') GROUP BY time(1h)) GRO

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

任务是:

  • 以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

目前没有。
分组依据
有效地删除每个条目的时间戳。这就像分组间隔(例如,当天)的所有数据都被放入一个没有时间戳的存储桶中。bucket有一个时间戳—间隔的开始

结果只有
分组间隔开始的时间戳


做到这一点的唯一方法是在应用程序中,而不是在后端。你可能想尝试一下;如果您只需要将分辨率降低到最接近的5分钟,请使用
分组时间(5m)
进行查询。这样做可以缩小客户端检索到的数据的大小与后端处理时间。

BTW:您的查询没有找到每日最大值。它仅从每小时平均值中查找最大值。
从“温度”中选择最大值(“位置”=“L1”)按时间(1d)分组。
。还是我失踪了somthing@JanGaraj我已经更新了问题。抱歉弄错了谢谢你的回复。我很清楚group by子句在XDB中是如何工作的,但是group by 5m不能解决我的要求,因为我必须找到每天的高峰时间。如果你只需要1h的分辨率,那么使用你的内部查询来获取数据并进行处理可能是有意义的,也就是说,
从“温度”中选择平均值(“位置”=“L1”)按时间分组(1h)
。这大大减少了数据传输,也减少了应用程序的负载。