ПочатиПочніть безкоштовно

Поворот користувацьких доходів за місяцями

Далі Ів повідомляє, що керівники рівня 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;
Редагувати та запускати код