ÎncepețiÎncepe gratuit

Comparație lună peste lună

Pentru a compara lunile, trebuie să folosești una dintre următoarele funcții de fereastră:

  • LAG(value, offset), care returnează o valoare de la un număr offset de rânduri anterioare rândului curent din raport.
  • LEAD(value, offset), care returnează o valoare de la un număr offset de rânduri ulterioare rândului curent din raport.

Scopul tău este să construiești un raport care să afișeze vizualizările lunare ale fiecărei țări, lună peste lună. Câteva indicații:

  • Va trebui să grupezi datele calendaristice pe luni. Pentru aceasta, poți folosi funcția DATE_PART().
  • Poți calcula variația procentuală folosind formula: (value)/(previous_value) - 1.
  • Dacă nu este inclus niciun offset în funcțiile LAG() sau LEAD(), valoarea implicită va fi 1.

Deoarece tabelul se oprește la mijlocul lunii iunie, interogarea este configurată să includă doar datele până la sfârșitul lunii mai.

Acest exercițiu face parte din cursul

Raportare în SQL

Vezi cursul

Instrucțiuni pentru exercițiu

  • Din web_data, extrage country_id și folosește funcția DATE_PART() pentru a crea câmpul month.
  • Creează month_views care să calculeze totalul vizualizărilor din luna respectivă.
  • Creează previous_month_views care să extragă totalul vizualizărilor din luna anterioară pentru țara respectivă.
  • Creează câmpul perc_change care calculează variația procentuală a lunii curente față de luna anterioară pentru țara respectivă, unde o valoare negativă reprezintă o scădere a vizualizărilor, iar una pozitivă reprezintă o creștere.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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 ____;
Editează și rulează codul