Используя таблицу purchase_order_header, для каждого квартала 2012 года рассчитайте, на сколько процентов изменились траты клиентов на заказы в текущем квартале по сравнению с предыдущим.
Используя таблицу purchase_order_header, выведите три поля:
- Номер квартала (1, 2, 3, 4) 2012 года.
- Общая сумма трат за текущий квартал.
- Вещественное число (положительное или отрицательное), которое обозначает, на сколько процентов изменилась сумма трат в текущем квартале по сравнению с предыдущим. Для расчётов используйте поле
subtotal.
Значения двух последних полей округлите до двух знаков после запятой.
SELECT EXTRACT(QUARTER FROM order_date) AS quarter,
ROUND(SUM(subtotal), 2) AS total,
ROUND(((ROUND(SUM(subtotal), 2)::numeric / LAG(ROUND(SUM(subtotal), 2), 1, NULL) OVER (ORDER BY EXTRACT(QUARTER FROM order_date)))-1)*100, 2) AS percentage_change
FROM adventure.purchase_order_header
WHERE EXTRACT(YEAR FROM order_date) = '2012'
GROUP BY EXTRACT(QUARTER FROM order_date)
ORDER BY quarter;