我有一个查询,可以在表中计算过去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个后续行。我找不到命令来考虑后续行。有人能帮帮我吗?
ROWS BETWEEN 3 preceeding AND 3 following
?请参考http://www.postgresql.org/docs/current/static/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS。 - user330315