和总和

paw*_*318 1 sql oracle group-by

简化我有这样的事情:

select register_date,count(*)
from USER
group by register_date;
Run Code Online (Sandbox Code Playgroud)

结果是:

2016-01-20  10
2016-01-21  5
2016-01-22  8
Run Code Online (Sandbox Code Playgroud)

这告诉我,第一天有10个用户注册了5天和8天.我需要一些注册用户:

2016-01-20  10
2016-01-21  15 (10+5)
2016-01-22  23 (10+5+8)
Run Code Online (Sandbox Code Playgroud)

任何想法如何得到它?先感谢您.

Gor*_*off 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;
Run Code Online (Sandbox Code Playgroud)