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

Porovnání měsíc po měsíci

Pro porovnání jednotlivých měsíců je potřeba použít jednu z těchto okenních funkcí:

  • LAG(value, offset) – vrátí hodnotu z řádku, který je o offset pozic před aktuálním řádkem v sestavě.
  • LEAD(value, offset) – vrátí hodnotu z řádku, který je o offset pozic za aktuálním řádkem v sestavě.

Tvým cílem je sestavit přehled zobrazující meziroční vývoj počtu zobrazení pro každou zemi. Pár tipů:

  • Data budeš muset rozdělovat do měsíců – k tomu slouží funkce DATE_PART().
  • Procentuální změnu lze vypočítat podle tohoto vzorce: (value)/(previous_value) - 1.
  • Pokud v LAG() nebo LEAD() nezadáš hodnotu offset, výchozí hodnota bude 1.

Protože tabulka končí uprostřed června, je dotaz nastaven tak, aby zahrnoval pouze data do konce května.

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

Reporting in SQL

Zobrazit kurz

Pokyny k cvičení

  • Z tabulky web_data vyber country_id a pomocí funkce DATE_PART() vytvoř pole month.
  • Vytvoř pole month_views, které bude obsahovat celkový počet zobrazení za daný měsíc.
  • Vytvoř pole previous_month_views, které bude obsahovat celkový počet zobrazení za předchozí měsíc pro danou zemi.
  • Vytvoř pole perc_change, které vypočítá procentuální změnu aktuálního měsíce oproti předchozímu pro danou zemi – záporná hodnota představuje pokles zobrazení, kladná hodnota růst.

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

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

SELECT
	-- Pull month and country_id
	____ AS month,
	____,
    -- Pull in current month views
    ____ AS month_views,
    -- Pull in last month views
    ____ AS previous_month_views,
    -- Calculate the percent change
    ____ AS perc_change
FROM ____
WHERE date <= '2018-05-31'
GROUP BY ____;
Upravit a spustit kód