如何根据条件返回累积值

时间:2019-04-16 10:35:51

标签: sql

我有下表,并根据我想检索的累积值MonthID。即:对于InvoiceID 1和MonthID 26,我想添加MonthID 24、25和26 reportMonthVal。

表格

enter image description here

我想检索以下内容

结果

enter image description here

任何帮助或为我指明正确的方向都将不胜感激。

2 个答案:

答案 0 :(得分:2)

使用累积和窗口功能:

select t.*,
       sum(t.reportmonthval) over (partition by t.invoiceid order by t.monthid) as ytdval
from t;

答案 1 :(得分:2)

使用窗口功能

ARTICLE  CUMULATIVE_ORDER_COUNT
-------------------------------
A         3
C         3
B         3
D         4