oracle如何计算当日统计数及当月、当年的累计统计数?

店铺A
日期 日销售量
2019-3-13 100
2019-3-14 200
2019-3-15 200
2019-4-13 100
2019-4-14 100
希望的查询结果如下:
日期 日销售量 月累计销售量 年累计销售量
2019-3-13 100 100 100
2019-3-14 200 300 300
2019-3-15 200 500 500
2019-4-13 100 100 600
2019-4-14 100 200 700

with temp as(

select to_date('2019-3-13','yyyy-mm-dd') sale_date , 100 amount from dual union all
select to_date('2019-3-14','yyyy-mm-dd') sale_date , 200 amount from dual union all
select to_date('2019-3-15','yyyy-mm-dd') sale_date , 200 amount from dual union all
select to_date('2019-4-13','yyyy-mm-dd') sale_date , 100 amount from dual union all
select to_date('2019-4-14','yyyy-mm-dd') sale_date , 100 amount from dual

)

select sale_date,amount,sum(amount) over(partition by to_char(sale_date,'yyyymm') order by sale_date) month_amount,
sum(amount) over(partition by to_char(sale_date,'yyyy') order by sale_date ) year_amount
from temp
图片说明

请问已知知道月累计,如何反计算 每天的值