CommencerCommencer gratuitement

Comparaison mois par mois

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 d’offset avant la ligne courante dans le rapport.
  • LEAD(value, offset), qui renvoie une valeur située un nombre d’offset après la ligne courante dans le rapport.

Votre objectif est de créer un rapport qui affiche les vues mois par mois pour chaque pays. Quelques conseils :

  • Vous devrez regrouper les dates par mois. Pour cela, 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 d’offset n’est fournie dans les fonctions LAG() ou LEAD(), la valeur par défaut est 1.

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

Cet exercice fait partie du cours

Réaliser des rapports en SQL

Afficher le cours

Instructions

  • À partir de web_data, récupérez country_id et utilisez une fonction DATE_PART() pour créer month.
  • Créez month_views qui calcule le total des vues du mois.
  • Créez previous_month_views qui récupère le total des vues 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é ; une valeur négative représente une baisse des vues et une valeur positive représente une hausse.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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