和总和

时间:2016-11-28 13:36:25

标签: sql oracle group-by

简化我有这样的事情:

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)

任何想法如何获得它?提前谢谢。

1 个答案:

答案 0 :(得分: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;