Pobieranie pierwszej i ostatniej wartości
Funkcje analityczne zwracające pierwszą lub ostatnią wartość z posortowanej listy są bardzo przydatne w zapytaniach. W tym ćwiczeniu zapoznasz się z ich działaniem. Składnia jest następująca:
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)
Napisz zapytanie, które pobierze wszystkich wyborców z Hiszpanii i USA. Następnie dodaj do zapytania polecenia pobierające datę urodzenia najmłodszego i najstarszego wyborcy z każdego kraju. Chcesz widzieć te wartości w każdym wierszu, aby móc je porównać z datą urodzenia poszczególnych wyborców.
To ćwiczenie jest częścią kursu
Funkcje do manipulowania danymi w SQL Server
Instrukcje do ćwiczenia
- Pobierz datę urodzenia najstarszego wyborcy z każdego kraju.
- Pobierz datę urodzenia najmłodszego wyborcy z każdego kraju.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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');