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

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

  • год, приведённый к типу date;
  • выручка за текущий год;
  • разница в выручке между текущим и следующим годом.
WITH t_1 AS (SELECT  CAST(DATE_TRUNC('year', paid_at) AS date) AS year_date, 
                     SUM(total_amt) AS year_total
             FROM tools_shop.orders
             GROUP BY year_date
             ORDER BY year_date)
             
SELECT  *, 
        LEAD(year_total, 1, 638720.14) OVER (ORDER BY year_date) - year_total  AS difference
FROM t_1;

Результат

year_date year_total difference
2016-01-01 136018 429736
2017-01-01 565754 336606
2018-01-01 902359 258161
2019-01-01 1.16052e+06 262563
2020-01-01 1.42308e+06 -784364
2021-01-01 638720 0

Вы справились со всеми заданиями! Можно переходить к следующей теме.