CommencezCommencez gratuitement

Obtenir la première et la dernière valeur

Les fonctions analytiques qui renvoient la première ou la dernière valeur d'une liste ordonnée sont très utiles dans les requêtes. Dans cet exercice, vous allez vous y familiariser. La syntaxe est la suivante :

  • FIRST_VALUE(numeric_expression) OVER ([PARTITION BY column] ORDER BY column ROW_or_RANGE frame)

  • LAST_VALUE(numeric_expression) OVER ([PARTITION BY column] ORDER BY column ROW_or_RANGE frame)

Vous allez écrire une requête pour extraire tous les électeurs de l'Espagne et des États‑Unis. Ensuite, vous ajouterez à votre requête des instructions pour récupérer la date de naissance de l'électeur le plus jeune et de l'électeur le plus âgé de chaque pays. Vous souhaitez voir ces valeurs sur chaque ligne afin de pouvoir les comparer avec la date de naissance de chaque électeur.

Cette activité fait partie du cours

Fonctions pour manipuler les données dans SQL Server

Voir le cours

Instructions de l’exercice

  • Récupérez la date de naissance de l'électeur le plus âgé de chaque pays.
  • Récupérez la date de naissance de l'électeur le plus jeune de chaque pays.

Exercice interactif pratique

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

SELECT 
	first_name + ' ' + last_name AS name,
	country,
	birthdate,
	-- Retrieve the birthdate of the oldest voter per country
	___(birthdate) 
	OVER (PARTITION BY ___ ORDER BY ___) AS oldest_voter,
	-- Retrieve the birthdate of the youngest voter per country
	___(___) 
		OVER (___ country ORDER BY ___ ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
				) AS youngest_voter
FROM voters
WHERE country IN ('Spain', 'USA');
Modifier et exécuter le code