2016-11-28 87 views
1

简化我有这样的事情:组通过总和

select register_date,count(*) 
from USER 
group by register_date; 

和结果是:

2016-01-20 10 
2016-01-21 5 
2016-01-22 8 

这表明我在第一天注册用户10比5和8下一站天后。 我需要有注册用户的总和:

2016-01-20 10 
2016-01-21 15 (10+5) 
2016-01-22 23 (10+5+8) 

任何想法如何得到它?先谢谢你。

回答

5

使用累计总和。你可以用聚合查询做到这一点,即使是:

select register_date, count(*), 
     sum(count(*)) over (order by register_date) as running_count 
from USER 
group by register_date 
order by register_date;