Проанализируйте данные из таблицы invoice за 2012 и 2013 годы. В итоговую таблицу должны войти поля:

  • month — номер месяца;
  • sum_total_2012 — выручка за этот месяц в 2012 году;
  • sum_total_2013 — выручка за этот месяц в 2013 году;
  • perc — процент, который отображает, насколько изменилась месячная выручка в 2013 году по сравнению с 2012 годом.

Округлите значение в поле perc до ближайшего целого числа. Отсортируйте таблицу по значению в поле month от меньшего к большему.

WITH
t_1 AS (
    SELECT DISTINCT EXTRACT(MONTH FROM CAST(invoice_date AS date)) AS month,
           SUM(total)
      FROM invoice
      WHERE EXTRACT(YEAR FROM CAST(invoice_date AS date)) = 2012
      GROUP BY EXTRACT(MONTH FROM CAST(invoice_date AS date))),
t_2 AS (
    SELECT DISTINCT EXTRACT(MONTH FROM CAST(invoice_date AS date)) AS month,
           SUM(total)
      FROM invoice
      WHERE EXTRACT(YEAR FROM CAST(invoice_date AS date)) = 2013
      GROUP BY EXTRACT(MONTH FROM CAST(invoice_date AS date)))                 

SELECT t_1.month AS month,
       t_1.sum AS sum_total_2012,
       t_2.sum AS sum_total_2013,
       ROUND(((t_2.sum - t_1.sum)/t_1.sum) * 100) AS perc
FROM t_1
LEFT OUTER JOIN t_2 ON t_1.month = t_2.month
ORDER BY month;

Результат

month sum_total_2012 sum_total_2013 perc
1 37.62 37.62 0
2 37.62 27.72 -26
3 37.62 37.62 0
4 37.62 33.66 -11
5 37.62 37.62 0
6 37.62 37.62 0
7 39.62 37.62 -5
8 47.62 37.62 -21
9 46.71 37.62 -19
10 42.62 37.62 -12
11 37.62 49.62 32
12 37.62 38.62 3

Вы уже знаете и умеете многое. Впереди ещё несколько уроков, а за ними — самостоятельный проект.