2016-11-28 6 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;