根据前 24 小时平均值查询时间和平均值

Query for Time and average of a conc based on previous 24 hour average

我想生成一个查询,其中有两列,一列是时间,第二列是特定的浓度。根据最近 24 小时的数据,我想计算 24 小时的平均浓度。在里面 在 table 以下,如果假设我有过去 24 小时的数据,它将被计算为 (conc+conc....+nthconc)/计数。日期将向前推进,例如 8/11、9/11、10/11 等等。此查询将保存在 Grafana 中以使用 time.For 信息进行 conc 可视化,如果我在 sql 中使用 avg 函数,则 avgvalue 中显示的值与 conc 相同 任何人都可以帮助我编写此查询。

Time conc avg (my-output) Output wanted(conc)
2021-11-07 18:47:00 1 1 24 hour average
2021-11-07 18:48:00 1 2 24 hour average
....
2021-11-08 18:47:00 5 5 24 hour average
2021-11-08 18:48:00. (Get the 24 hour average)

您似乎需要 window function(请参阅手册 3.5. Window functions, 4.2.8. Window Function Calls, 9.22. Window Functions)。那么你可以试试这个:

SELECT avg(conc) OVER (ORDER BY Time RANGE BETWEEN '1 DAY' PRECEDING AND CURRENT ROW)
FROM your_table