我有一个查询,用于计算过去7天内表格中的移动平均线.我的表有两列date_of_data,它是日期类型,是一个日期系列,有一天的间隔,val是浮点数.
with B as (SELECT date_of_data,val FROM mytable group by date_of_data order by date_of_data) select date_of_data,val,avg(val) over(order by date_of_data rows 7 preceding)mean7 from B order by date_of_data;
我想计算一个7天的移动过滤器.这意味着对于每一行,移动窗口将包含最后3天,行本身和3个后续行.我找不到一个命令来考虑后续行.有人可以帮我这个吗?
解决方法
试试这个:
select date_of_data,avg(val) over(order by date_of_data ROWS BETWEEN 3 preceding AND 3 following) as mean7 from mytable order by date_of_data;