Напишите запрос, который выведет сумму трат на привлечение пользователей по месяцам, а также разницу в тратах между текущим и предыдущим месяцами.
Разница должна показывать, на сколько траты текущего месяца отличаются от предыдущего. В случае, если данных по предыдущему месяцу нет, укажите ноль.
Выгрузите поля:
- месяц, приведённый к типу
date; - траты на привлечение пользователей в текущем месяце;
- разница в тратах между текущим и предыдущим месяцами.
WITH t_1 AS (SELECT CAST(DATE_TRUNC('month', created_at) AS date) AS month_date,
SUM(costs) AS month_cost
FROM tools_shop.costs
GROUP BY month_date
ORDER BY month_date)
SELECT *,
month_cost - LAG(month_cost, 1, 130.59) OVER (ORDER BY month_date) AS difference
FROM t_1;
Результат
| month_date | month_cost | difference |
|---|---|---|
| 2016-03-01 | 130.59 | 0 |
| 2016-04-01 | 157.17 | 26.58 |
| 2016-05-01 | 1006.73 | 849.56 |
Отлично!