Obținerea primei și ultimei valori
Funcțiile analitice care returnează prima sau ultima valoare dintr-o listă ordonată sunt extrem de utile în interogări. În acest exercițiu, te vei familiariza cu ele. Sintaxa este:
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)
Vei scrie o interogare pentru a obține toți alegătorii din Spania și SUA. Apoi, vei adăuga în interogare comenzi pentru a obține data nașterii celui mai tânăr și celui mai în vârstă alegător din fiecare țară. Vrei să vezi aceste valori pe fiecare rând, pentru a le putea compara cu data nașterii fiecărui alegător.
Acest exercițiu face parte din cursul
Funcții pentru manipularea datelor în SQL Server
Instrucțiuni pentru exercițiu
- Obține data nașterii celui mai în vârstă alegător din fiecare țară.
- Obține data nașterii celui mai tânăr alegător din fiecare țară.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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');