【问题标题】:Query for Time and average of a conc based on previous 24 hour average根据前一个 24 小时平均值查询浓度的时间和平均值
【发布时间】: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)

【问题讨论】:

    标签: database postgresql grafana


    【解决方案1】:

    看来您需要window function(参见手册3.5. Window functions4.2.8. Window Function Calls9.22. Window Functions)。然后你可以试试这个:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-22
      • 1970-01-01
      相关资源
      最近更新 更多