postgresql-9.1 – postgresql中的移动平均过滤器

我有一个查询,用于计算过去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;

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...