НачатьНачать бесплатно

Доступ к значениям следующей строки

Функция LEAD() позволяет обращаться к данным из следующей строки в рамках того же запроса — без использования оператора GROUP BY. Это удобно для сравнения значений в упорядоченном списке.

Синтаксис функции: LEAD(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

В этом упражнении вы научитесь сравнивать значения текущей строки со значениями следующей строки.

Вы выберете сведения об избирателях из Франции и отсортируете результаты по общему числу голосов в порядке возрастания. Цель — проанализировать, как количество голосов каждого избирателя соотносится с количеством голосов следующего человека в списке.

Это упражнение является частью курса

Функции для работы с данными в SQL Server

Посмотреть курс

Инструкции к упражнению

  • Создайте новый столбец, отображающий количество голосов, зафиксированных за следующим человеком в списке.
  • Создайте новый столбец с разницей между значением total_votes текущего избирателя и количеством голосов следующего человека.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

SELECT 
	first_name,
	last_name,
	total_votes AS votes,
    -- Select the number of votes of the next voter
	___(___) OVER (___ total_votes) AS votes_next_voter,
    -- Calculate the difference between the number of votes
	LEAD(___) ___ (ORDER BY ___) - total_votes AS votes_diff
FROM voters
WHERE country = 'France'
ORDER BY total_votes;
Редактировать и запускать код