Как сделать промежуточную сумму с группировкой в ​​SQL? - PullRequest
0 голосов
/ 13 июня 2018

Теперь у меня есть таблица, подобная следующей:

    Date        Promotion campaign    Visit      Orders    Revenue
   2018-06-01    Promotion01           200         5       1000
   2018-06-01    Promotion02           250         10      1100
   2018-06-02    Promotion01           220         8       1350
   2018-06-03    Promotion03           300         15      2000  
    ...

И я хотел бы сгенерировать таблицу, которая показывает совокупные цифры, такие как

    Date         Visit        Orders       Revenue  
  2018-06-01      450           15           2100
  2018-06-02      670           23           3450
  2018-06-03      970           38           5450 

Сначала я знаю, что мне, возможно, придетсяиспользуйте функцию группировки по функции и группировки данных по дате, и после этого, как я могу сделать промежуточную сумму для 3 столбцов?

Дву-амазонка-красное смещение.Большое спасибо за вашу помощь заранее!

1 Ответ

0 голосов
/ 13 июня 2018

Вы можете использовать функции агрегации и окна:

select date, sum(visit) as visit, sum(orders) as orders,
       sum(revenue) as revenue,
       sum(sum(revenue)) over (order by date) as running_revenue
from t
group by date
order by date;
...