1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| select YEAR_CDE
, MONTH_CDE
, sum(NB_RECEPT)
over(partition by YEAR_CDE order by MONTH_CDE
rows between unbounded preceding and current row)
as NB_RECEPT
, sum(NB_CDE)
over(partition by YEAR_CDE order by MONTH_CDE
rows between unbounded preceding and current row)
as NB_CDE
, sum(MONTANT)
over(partition by YEAR_CDE order by MONTH_CDE
rows between unbounded preceding and current row)
as MONTANT
from
( select extract(year from DATE_CDE) as YEAR_CDE
, extract(month from DATE_CDE) as MONTH_CDE
, sum(case FLAG_RECEPT when '+' then 1 else 0 end) as NB_RECEPT
, count(*) as NB_CDE
, sum(MONTANT) as MONTANT
from COMMANDES
group by
YEAR_CDE
, MONTH_CDE
)
order by
YEAR_CDE
, MONTH_CDE
; |