Obtendo o primeiro e o último valor
As funções analíticas que retornam o primeiro ou o último valor de uma lista ordenada são muito úteis em consultas. Neste exercício, você vai se familiarizar com elas. A sintaxe é:
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)
Você vai escrever uma consulta para recuperar todos os eleitores da Espanha e dos EUA. Depois, vai acrescentar à sua consulta alguns comandos para obter a data de nascimento do eleitor mais jovem e do mais velho de cada país. Você quer ver esses valores em cada linha para poder compará-los com a data de nascimento de cada eleitor.
Este exercício faz parte do curso
Funções para manipular dados no SQL Server
Instruções do exercício
- Recupere a data de nascimento do eleitor mais velho de cada país.
- Recupere a data de nascimento do eleitor mais jovem de cada país.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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');