Zacznij terazZacznij za darmo

Porównanie miesiąc do miesiąca

Aby porównać miesiące, użyj jednej z poniższych funkcji okna:

  • LAG(value, offset) – zwraca wartość z wiersza znajdującego się o offset pozycji przed bieżącym wierszem w raporcie.
  • LEAD(value, offset) – zwraca wartość z wiersza znajdującego się o offset pozycji po bieżącym wierszu w raporcie.

Celem jest zbudowanie raportu pokazującego liczbę odsłon w ujęciu miesiąc do miesiąca dla każdego kraju. Kilka wskazówek:

  • Daty należy pogrupować według miesięcy – do tego służy funkcja DATE_PART().
  • Zmianę procentową możesz obliczyć według wzoru: (value)/(previous_value) - 1.
  • Jeśli w funkcji LAG() lub LEAD() nie podasz wartości offset, domyślnie przyjmie ona wartość 1.

Ponieważ tabela zawiera dane tylko do połowy czerwca, zapytanie jest skonfigurowane tak, aby uwzględniać wyłącznie dane do końca maja.

To ćwiczenie jest częścią kursu

Raportowanie w SQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Z tabeli web_data pobierz country_id i użyj funkcji DATE_PART(), aby utworzyć pole month.
  • Utwórz pole month_views zawierające łączną liczbę odsłon w danym miesiącu.
  • Utwórz pole previous_month_views zawierające łączną liczbę odsłon z poprzedniego miesiąca dla danego kraju.
  • Utwórz pole perc_change, które oblicza zmianę procentową liczby odsłon w bieżącym miesiącu względem poprzedniego dla danego kraju – wartość ujemna oznacza spadek odsłon, a dodatnia – wzrost.

Interaktywne ćwiczenie praktyczne

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

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