문제
다음과 같은 [매출] 테이블이 있을 때, SQL문의 실행 결과에서 이름이 '이'인 행의 순위(rk) 값을 쓰시오.
| 이름 | 부서 | 금액 |
|---|---|---|
| 김 | A | 100 |
| 이 | A | 200 |
| 박 | A | 200 |
| 최 | B | 300 |
SQLSELECT 이름, RANK() OVER (ORDER BY 금액 DESC) AS rk FROM 매출;
정답
2
2
해설
RANK()는 금액 내림차순으로 순위를 매긴다. 최(300) → 1위, 이(200)와 박(200) → 공동 2위, 김(100) → 4위(3위를 건너뜀). 이름이 '이'인 행의 rk는 2이다. RANK()는 동순위가 있으면 다음 순위를 건너뛰는 특성이 있다.