mysql过去N小时内的简单移动平均值
下表中有一个cron作业,每5分钟填充一次速率,如果您能提供一些关于如何在速率列的最后6小时内获得简单移动平均值的建议,我们将不胜感激 SQL表如下所示:mysql过去N小时内的简单移动平均值,mysql,sql,datetime,average,window-functions,Mysql,Sql,Datetime,Average,Window Functions,下表中有一个cron作业,每5分钟填充一次速率,如果您能提供一些关于如何在速率列的最后6小时内获得简单移动平均值的建议,我们将不胜感激 SQL表如下所示: id rate created_at updated_at 1 11478.01 2020-08-29 03:11:28 2020-08-29 03:11:28 3 11481.28 2020-08-29 03:20:33 2020-08-29 03:20:33 4 11485.67
id rate created_at updated_at
1 11478.01 2020-08-29 03:11:28 2020-08-29 03:11:28
3 11481.28 2020-08-29 03:20:33 2020-08-29 03:20:33
4 11485.67 2020-08-29 03:29:53 2020-08-29 03:29:53
7 11486.57 2020-08-29 03:39:50 2020-08-29 03:39:50
8 11507.53 2020-08-29 03:48:10 2020-08-29 03:48:10
9 11515.37 2020-08-29 03:53:47 2020-08-29 03:53:47
10 11496.06 2020-08-29 04:01:06 2020-08-29 04:01:06
11 11499.58 2020-08-29 04:02:49 2020-08-29 04:02:49
12 11490.15 2020-08-29 04:22:00 2020-08-29 04:22:00
13 11509.22 2020-08-29 05:19:55 2020-08-29 05:19:55
14 11491.55 2020-08-29 05:26:34 2020-08-29 05:26:34
选择平均值(速率)
从桌子上
在处创建的位置选择平均值(速率)
从桌子上
在处创建时,可以使用窗口函数和范围框:
select
t.*,
avg(rate) over(
order by created_at
range between interval 6 hour preceding and current row
) avg_rate
from mytable t
请注意,窗口函数仅在MySQL的8.0版中可用。您可以使用窗口函数和范围框:
select
t.*,
avg(rate) over(
order by created_at
range between interval 6 hour preceding and current row
) avg_rate
from mytable t
请注意,仅MySQL版本8.0中提供窗口功能。是否应在6小时内创建和更新窗口功能?@ankit jindal表中每小时插入12次,理想情况下,应在过去6小时内获得SMA,根据值和created_at only请查看您的MySQL版本是否支持窗口聚合?created_at和Update_at之间的差异是否应为6小时?@ankit jindal表中每小时插入12次,理想情况下应在过去6小时内获得SMA,基于值和在Only创建的\u请查看您的MySQL版本是否支持窗口聚合?