Получение первого и последнего значения
Аналитические функции, возвращающие первое или последнее значение из упорядоченного списка, очень удобны в запросах. В этом упражнении вы познакомитесь с ними. Синтаксис:
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');