Začněte nyníZačněte zdarma

Pivotování příjmů uživatelů podle měsíce

Eve ti říká, že vedení firmy preferuje široké tabulky před úzkými – lépe se v nich orientuje. Připravila ukázkový report příjmů uživatelů podle měsíce, ve kterém jsou zachyceny příjmy prvních 5 uživatelů od června do srpna 2018. Vedení ji požádalo o pivotování tabulky podle měsíce – a ona tento úkol předala tobě.

Pivotuj dotaz s příjmy uživatelů podle měsíce tak, aby ID uživatele tvořilo řádky a každý měsíc od června do srpna 2018 byl samostatný sloupec.

Toto cvičení je součástí kurzu

Analyzing Business Data in SQL

Zobrazit kurz

Pokyny k cvičení

  • Aktivuj CROSSTAB() z rozšíření tablefunc.
  • Deklaruj sloupce nové pivotované tabulky: ID uživatele a první tři měsíce provozu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

-- 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;
Upravit a spustit kód