Отримання першого й останнього значення
Аналітичні функції, що повертають перше або останнє значення з упорядкованого списку, дуже корисні в запитах. У цій вправі ви з ними познайомитеся. Синтаксис такий:
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)
Ви напишете запит, щоб отримати всіх виборців з Іспанії та США. Потім додасте в запит команди для отримання дати народження наймолодшого та найстаршого виборця з кожної країни. Ви хочете бачити ці значення в кожному рядку, щоб порівнювати їх із датою народження кожного виборця.
Ця вправа є частиною курсу
Функції для обробки даних у SQL Server
Інструкції до вправи
- Отримайте дату народження найстаршого виборця в кожній країні.
- Отримайте дату народження наймолодшого виборця в кожній країні.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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');