PostgreSQL - OVER子句中的WHERE子句?

arc*_*ies 1 postgresql

我需要在over子句中使用where子句.怎么样?

SELECT SUM(amount) OVER(WHERE dateval > 12)
Run Code Online (Sandbox Code Playgroud)

或类似的东西.

- 编辑 -

更多细节

我的表格格式化为年,月和金额列.

我想选择所有年,月和金额行并创建第四个"虚拟列",其中包含过去12个月金额列的总和.

例如:

年| 月| AMOUNT
2001 | 03 |
2001年10 月| 05 | 25
2001 | 07 | 10

应该创建:

年| 月| AMOUNT |
2001年推出12个月| 03 | 10 |
2001年10 月| 05 | 25 | 35
2001年| 07 | 10 | 45

Wil*_*l A 5

给出针对您的三列结果集的查询,以下是否适用于您?

SELECT
    SUM(amount) OVER(ORDER BY YEAR ASC, MONTH ASC
                     ROWS BETWEEN 11 PRECEDING AND CURRENT ROW)
...
Run Code Online (Sandbox Code Playgroud)

  • 我想我们需要知道你对这个聚合的"分区" - 如果有的话. (2认同)