我有一个大型查询,结果如下:
Date Cost
------------------
6-Oct 24.05
5-Oct 34.56
4-Oct 24.76
3-Oct 12.89
2-Oct 11.34
1-Oct 21.76
30-Sept 32.89
29-Sept 11.34
我正在尝试使用windows
进行以下操作Date Cost Previous_week
-------------------------------
6-Oct 24.05 32.89
5-Oct 34.56 11.34
4-Oct 24.76 NULL
3-Oct 12.89 NULL
2-Oct 11.34 NULL
1-Oct 21.76 NULL
30-Sept 32.89 NULL
29-Sept 11.34 NULL
似乎窗口函数只能用于聚合,是否有另一种方法可以获得第7行?
我不想做自我加入。
答案 0 :(得分:1)
我应该花更多的时间阅读文档。
select date, cost
nth_value(cost, 7)
over(order by date desc
rows between unbounded preceding and unbounded following)
as previous_week
http://docs.aws.amazon.com/redshift/latest/dg/r_Examples_of_NTH_WF.html