CommencezCommencez gratuitement

Comparaison d'un mois à l'autre

Pour comparer les mois, vous devez utiliser l'une des fonctions de fenêtre suivantes :

  • LAG(value, offset), qui renvoie une valeur située un nombre offset de lignes avant la ligne courante du rapport.
  • LEAD(value, offset), qui renvoie une valeur située un nombre offset de lignes après la ligne courante du rapport.

Votre objectif est de bâtir un rapport qui montre, pour chaque pays, les consultations d'un mois à l'autre. Quelques conseils :

  • Vous devrez regrouper les dates par mois. Pour ce faire, vous pouvez utiliser la fonction DATE_PART().
  • Vous pouvez calculer le pourcentage de variation avec la formule suivante : (value)/(previous_value) - 1.
  • Si aucune valeur offset n'est fournie aux fonctions LAG() ou LEAD(), la valeur par défaut est 1.

Comme la table s'arrête au milieu de juin, la requête est configurée pour n'inclure que les données jusqu'à la fin de mai.

Cette activité fait partie du cours

Création de rapports en SQL

Voir le cours

Instructions de l’exercice

  • À partir de web_data, récupérez country_id et utilisez la fonction DATE_PART() pour créer month.
  • Créez month_views qui calcule le total des consultations pour le mois.
  • Créez previous_month_views qui calcule le total des consultations du mois précédent pour le pays donné.
  • Créez le champ perc_change qui calcule le pourcentage de variation de ce mois par rapport au mois précédent pour le pays donné, où une valeur négative représente une baisse des consultations et une valeur positive, une hausse.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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 ____;
Modifier et exécuter le code