Obtener el primer y el último valor
Las funciones analíticas que devuelven el primer o el último valor de una lista ordenada resultan muy útiles en las consultas. En este ejercicio, te familiarizarás con ellas. La sintaxis es:
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)
Escribirás una consulta para recuperar todas las personas votantes de Spain y USA. Luego, añadirás a tu consulta algunas instrucciones para obtener la fecha de nacimiento de la persona más joven y de la de mayor edad de cada país. Quieres ver estos valores en cada fila para poder compararlos con la fecha de nacimiento de cada votante.
Este ejercicio forma parte del curso
Funciones para manipular datos en SQL Server
Instrucciones del ejercicio
- Recupera la fecha de nacimiento de la persona de mayor edad de cada país.
- Recupera la fecha de nacimiento de la persona más joven de cada país.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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');