Напишите запрос, который выведет сумму трат на привлечение пользователей по месяцам, а также разницу в тратах между текущим и предыдущим месяцами.

Разница должна показывать, на сколько траты текущего месяца отличаются от предыдущего. В случае, если данных по предыдущему месяцу нет, укажите ноль.

Выгрузите поля:

  • месяц, приведённый к типу 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

Отлично!