根据前 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
我想生成一个查询,其中有两列,一列是时间,第二列是特定的浓度。根据最近 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