Zacznij terazZacznij za darmo

Przestawianie przychodów użytkowników według miesiąca

Eve informuje cię, że dyrektorzy wyższego szczebla wolą szerokie tabele od długich – łatwiej się po nich skanuje dane. Przygotowała przykładowy raport przychodów użytkowników według miesiąca, obejmujący przychody pierwszych 5 użytkowników od czerwca do sierpnia 2018 roku. Dyrektorzy poprosili o przestawienie tabeli według miesięcy – i to zadanie trafia teraz do ciebie.

Przepisz zapytanie o przychody użytkowników tak, aby ID użytkownika stanowił wiersz, a każdy miesiąc od czerwca do sierpnia 2018 roku – osobną kolumnę.

To ćwiczenie jest częścią kursu

Analiza danych biznesowych w SQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Włącz funkcję CROSSTAB() z rozszerzenia tablefunc.
  • Zadeklaruj kolumny nowej tabeli przestawnej: ID użytkownika oraz pierwsze trzy miesiące działalności.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

-- 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;
Edytuj i uruchom kod