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 familiariser avec elles. 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 récupérer tous les électeurs d’Espagne et des États‑Unis. Ensuite, vous ajouterez dans votre requête des instructions pour récupérer la date de naissance de l’électeur le plus jeune et du plus âgé pour chaque pays. Vous souhaitez voir ces valeurs sur chaque ligne afin de pouvoir les comparer avec la date de naissance de chaque électeur.
Cet exercice fait partie du cours
Fonctions de manipulation des données dans SQL Server
Instructions
- Récupérez la date de naissance de l’électeur le plus âgé pour chaque pays.
- Récupérez la date de naissance de l’électeur le plus jeune pour chaque pays.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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');