Поворот користувацьких доходів за місяцями
Далі Ів повідомляє, що керівники рівня C надають перевагу «широким» таблицям перед «довгими», адже їх легше переглядати. Вона підготувала зразок звіту з доходів користувачів за місяцями, де показано доходи перших 5 ідентифікаторів користувачів з червня по серпень 2018 року. Керівники попросили її зробити поворот таблиці за місяцями. Вона передала це завдання вам.
Зробіть поворот запиту про доходи користувачів за місяцями так, щоб ідентифікатор користувача був рядком, а кожен місяць з червня по серпень 2018 року — стовпцем.
Ця вправа є частиною курсу
Аналіз бізнес-даних у SQL
Інструкції до вправи
- Увімкніть
CROSSTAB()зtablefunc. - Оголосіть стовпці нової зведеної таблиці: ідентифікатор користувача та перші три місяці роботи.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
-- Import tablefunc
CREATE EXTENSION IF NOT EXISTS ___;
SELECT * FROM CROSSTAB($$
SELECT
user_id,
DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
SUM(meal_price * order_quantity) :: FLOAT AS revenue
FROM meals
JOIN orders ON meals.meal_id = orders.meal_id
WHERE user_id IN (0, 1, 2, 3, 4)
AND order_date < '2018-09-01'
GROUP BY user_id, delivr_month
ORDER BY user_id, delivr_month;
$$)
-- Select user ID and the months from June to August 2018
AS ct (___ INT,
___ FLOAT,
___ FLOAT,
___ FLOAT)
ORDER BY user_id ASC;