CommencezCommencez gratuitement

Accéder aux valeurs de la ligne précédente

En utilisant la fonction LAG() dans une requête, vous pouvez accéder aux lignes qui précèdent la ligne actuelle.

Voici la syntaxe : LAG(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

Dans cet exercice, vous allez utiliser cette fonction dans votre requête. Vous analyserez les évaluations des barres de chocolat produites par une entreprise appelée « Fruition ».

Cette entreprise produit du chocolat avec du cacao provenant de différentes régions du monde.

Vous voulez vérifier s'il existe une corrélation entre le pourcentage de cacao et la note reçue, pour les barres provenant du même endroit. Pour ce faire, vous comparerez le pourcentage de cacao de chaque barre avec le pourcentage de la barre qui a reçu l'évaluation précédente. Ensuite, vous calculerez l'écart entre ces valeurs et interpréterez les résultats.

Cette activité fait partie du cours

Fonctions pour manipuler les données dans SQL Server

Voir le cours

Instructions de l’exercice

  • Créez une nouvelle colonne affichant le pourcentage de cacao de la barre de chocolat ayant reçu une note inférieure, avec du cacao provenant du même endroit (broad_bean_origin est identique).
  • Créez une nouvelle colonne indiquant la différence entre le pourcentage de cacao de la barre actuelle et le pourcentage de la barre précédente.

Exercice interactif pratique

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

SELECT 
	broad_bean_origin AS bean_origin,
	rating,
	cocoa_percent,
    -- Retrieve the cocoa % of the bar with the previous rating
	___(___) 
		OVER(___ broad_bean_origin ORDER BY ___) AS percent_lower_rating
FROM ratings
WHERE company = 'Fruition'
ORDER BY broad_bean_origin, rating ASC;
Modifier et exécuter le code