다음 행의 값 참조하기
LEAD() 함수를 사용하면 동일한 쿼리 내에서 GROUP BY 구문 없이도 다음 행의 데이터를 참조할 수 있습니다. 이렇게 하면 정렬된 목록에서 값을 손쉽게 비교할 수 있어요.
구문은 다음과 같습니다:
LEAD(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)
이 연습 문제에서는 현재 행의 값과 다음 행의 값을 비교하는 방법에 익숙해지게 됩니다.
France의 유권자 정보를 선택하고, 결과를 총 투표 수 기준으로 오름차순 정렬하세요. 목적은 각 유권자의 투표 수가 목록에서 다음 사람의 투표 수와 어떻게 비교되는지 분석하는 것입니다.
이 연습은 강의의 일부입니다
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;