2015-02-05 24 views
0

为窗口化分析函数创建“框架”时,可以指定要“回顾”的字面数。例如,以下将获得一个家庭的26周的周销售额。Netezza SQL:在窗口框架中指定偏移

,sum(sales) over (partition by household_id order by week_id rows 26 preceding) as x26 

但是...如果你想回头(或转发)与偏移量?例如,如果在第n周,你想要在第n周前8周结束的26周的销售额?当我输入这个内容时,我想到我可能会部分地完成它。即,

,sum(sales) over (partition by household_id order by week_id rows 34 preceding) as x34 
,sum(sales) over (partition by household_id order by week_id rows 8 preceding) as x8 

...并有trailing26_offeset8 = x34 - x8

唔...很高兴我问。但无论如何,你知道是否有一个功能可以让我在分区规范本身中指定偏移量吗?

谢谢!

回答

2

尝试在窗口范围内使用规范between

sum(sales) over (partition by household_id 
       order by week_id 
       rows between 34 preceding and 8 preceding 
       ) as x34 
+0

是的,工作和正是我一直在寻找! FWIW,我的两部分解决方案提出了相同的答案,但这当然更简单。谢谢。 – Chris 2015-02-05 20:50:49