문제
다음 [판매] 테이블에서 SQL문을 실행했을 때, 이름이 '박'인 행의 next_amount 값을 쓰시오.
| 이름 | 지역 | 금액 |
|---|---|---|
| 김 | 서울 | 100 |
| 이 | 서울 | 150 |
| 박 | 서울 | 120 |
| 최 | 부산 | 200 |
| 정 | 부산 | 180 |
SQLSELECT 이름, 지역, 금액, LEAD(금액, 1, -1) OVER (PARTITION BY 지역 ORDER BY 금액 ASC) AS next_amount FROM 판매;
정답
150
150
해설
PARTITION BY 지역으로 서울/부산 지역별로 분할되고, ORDER BY 금액 ASC로 금액 오름차순 정렬된다. 서울 지역에서는 김(100) → 박(120) → 이(150) 순으로 정렬된다. LEAD(금액, 1, -1)는 다음 행의 금액을 가져오는데, 박의 다음 행은 이(150)이므로 next_amount는 150이다.