所以,我已经得到了这个查询,我需要平均值"值"。我需要加入,因为该表具有基于批量加载时间的版本 - 因此同一年/月可以有多个版本,但我只想要最新版本。
ImageView
我是否真的需要将我的主查询作为子查询,以获得该字段的avg()over()?如果我尝试直接在主要查询上进行,我得到的只是全部值,而不是过去12个月所需的平均值...
答案 0 :(得分:0)
这里的问题是我没有在OVER子句中使用DESC - 所以即使查询订购了年/月DESC,OVER子句也没有。
现在,此查询按预期工作:
SELECT
c.YEAR,
c.MONTH,
PRODUCT,
value,
avg(value) over (
order by YEAR desc, MONTH desc
ROWS 11 preceding
) as averageValue
FROM
db.table c
join (
select year, month, max(version) as version
from db.table
group by year, month
) v
on c.year = v.year
and c.month = v.month
and c.version = v.version
order by year desc, month desc