CommencerCommencer 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 précédant la ligne courante.

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 notes des tablettes 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 souhaitez vérifier s’il existe une corrélation entre le pourcentage de cacao et la note reçue, pour les tablettes provenant du même lieu. Pour cela, vous comparerez le pourcentage de cacao de chaque tablette avec celui de la tablette ayant reçu la note immédiatement inférieure. Ensuite, vous calculerez la différence entre ces valeurs et interpréterez les résultats.

Cet exercice fait partie du cours

Fonctions de manipulation des données dans SQL Server

Afficher le cours

Instructions

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

Exercice interactif pratique

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

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