【发布时间】:2018-03-23 18:10:01
【问题描述】:
我使用名为“avg_rev”的窗口函数创建了一个列,它给出了过去 7 天按销售区域划分的平均收入金额:
AVG(rev) OVER (PARTITION BY sales_region ROWS BETWEEN 7 PRECEDING AND CURRENT ROW) AS avg_rev
我想按天将每个销售区域返回的平均收入相加。所以对于下表:
date | sales_region | rev | avg_rev
---------|--------------|--------|---------
01-23-18 | US East | 192643 | 187463
01-23-18 | US South | 89734 | 90245
01-23-18 | US West | 254867 | 270974
01-24-18 | US East | 168903 | 189245
01-24-18 | US South | 93127 | 90621
01-24-18 | US West | 252075 | 269874
我想要另一列通过总结最后 3 行(或获得相同结果的任何其他方式)来显示每天的总平均收入,以便获得下表:
date | sales_region | rev | avg_rev | total_avg
---------|--------------|--------|---------|-----------
01-23-18 | US East | 192643 | 187463 | 548682
01-23-18 | US South | 89734 | 90245 | 548682
01-23-18 | US West | 254867 | 270974 | 548682
01-24-18 | US East | 168903 | 189245 | 550740
01-24-18 | US South | 93127 | 91621 | 550740
01-24-18 | US West | 252075 | 269874 | 550740
如您所见,总平均收入保持一致,因为它们每天的总和应该相同。
任何正确方向的帮助将不胜感激!
【问题讨论】:
标签: sql postgresql window-functions