문제
다음 윈도우 함수의 결과가 올바른 것은?
테이블: SALES (SALESPERSON VARCHAR(10), AMOUNT NUMBER) 데이터: ('김철수', 1000), ('이영희', 2000), ('박민수', 1500)
SQLSELECT SALESPERSON, ROW_NUMBER() OVER(ORDER BY AMOUNT DESC), RANK() OVER(ORDER BY AMOUNT DESC) FROM SALES;
① 김철수: ROW_NUMBER=3, RANK=3 ② 이영희: ROW_NUMBER=1, RANK=1 ③ 박민수: ROW_NUMBER=2, RANK=3 ④ 이영희: ROW_NUMBER=2, RANK=1
정답
2번
해설
정답: ② AMOUNT 내림차순 정렬 시 이영희(2000)가 1위이므로 ROW_NUMBER=1, RANK=1입니다. ①은 김철수가 최하위(3위)이므로 맞지만 선택지가 부분적입니다. ③은 박민수가 2위이므로 RANK=3이 틀렸습니다. ④는 이영희의 ROW_NUMBER가 2가 될 수 없습니다.