如何计算每个字段键的每小时平均值,然后从这些平均值中获取最大值



在我的InfluxDB中,我有字段键,例如InstallationIdvalue,它们存储在名为measurements的度量中。

我想从value<3000 和type=PM25且记录在 1472688000000 ms 和 15120000000000 毫秒之间的measurements中计算每InstallationId所有记录的每小时平均值,然后从这些小时平均值中选择最大value

这是我提出的一个SQL查询:

SELECT max("mean")
FROM
(SELECT mean("value")
FROM "measurements"
WHERE "value" < 3000
AND "type" = 'PM25'
AND TIME > 1472688000000ms
AND TIME < 1512000000000ms
GROUP BY time(1h))

问题是此查询正在计算每小时所有记录的平均值,我需要它来计算每小时InstallationId的平均值。

我希望我没有把我的问题复杂化。如果需要澄清,请告诉我。

然后将其添加到group by

SELECT instrument_id, time(1h), mean("value")
FROM "measurements"
WHERE "value" < 3000 AND "type" = 'PM25' AND
time > 1472688000000ms AND time < 1512000000000ms
GROUP BY instrument_id, time(1h)

我不确定max()的用途。 这似乎与您的问题无关。 我也不熟悉您使用的语法。avg()是SQL中通常用于计算平均值的函数。

相关内容

最新更新