根据前一个 24 小时平均值查询浓度的时间和平均值
Posted
技术标签:
【中文标题】根据前一个 24 小时平均值查询浓度的时间和平均值【英文标题】:Query for Time and average of a conc based on previous 24 hour average 【发布时间】:2021-12-21 04:13:27 【问题描述】:我想生成一个查询,其中有两列,一是时间,二是特定浓度。根据过去 24 小时的数据,我想计算 24 小时的平均浓度。在里面 下表,如果假设我有过去 24 小时的数据,它将计算如下 (conc+conc....+nthconc)/计数。日期将向前推进,如 8/11、9/11、10/11 等。此查询将保留在 Grafana 中,以便随时间进行 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) |
【问题讨论】:
【参考方案1】:看来您需要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
【讨论】:
以上是关于根据前一个 24 小时平均值查询浓度的时间和平均值的主要内容,如果未能解决你的问题,请参考以下文章