【发布时间】:2018-01-04 18:27:11
【问题描述】:
我想根据精度为秒的数据每周计算一个计算字段的滚动平均值。这就是我首先将日期截断为星期的原因。
所以我的临时查询是
SELECT week, AVG(my_value) OVER(ORDER BY week ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS avg_my_value
FROM
(SELECT id,
DATE_TRUNC('week', created_at) AS week,
my_value
FROM my_table
ORDER BY week ASC
)
GROUP BY week
我遇到的问题是 AVG 可以工作,但它是针对同一周的所有行单独完成的!我认为这是因为必须添加某种内部分组,但我遇到的问题是针对平均值的情况来设想它。
如果这很重要,我正在寻找适用于 Redshift 或 PostgreSQL 的解决方案。
【问题讨论】:
标签: sql postgresql aggregate-functions amazon-redshift