SQLDSQL 활용윈도우 함수난이도 1MCQ

SQLD 윈도우 함수 기출문제 #643

문제

다음 테이블에서 각 부서별로 급여가 높은 순서대로 순번을 매기되, 동일 급여는 같은 순번을 부여하고 다음 순번은 건너뛰지 않으려고 한다. 적절한 SQL은?

EMP 테이블: DEPT(10,10,20,20), SAL(3000,2000,3000,2000)

① ROW_NUMBER() OVER(PARTITION BY DEPT ORDER BY SAL DESC) ② RANK() OVER(PARTITION BY DEPT ORDER BY SAL DESC) ③ DENSE_RANK() OVER(PARTITION BY DEPT ORDER BY SAL DESC) ④ NTILE(2) OVER(PARTITION BY DEPT ORDER BY SAL DESC)

정답

3

해설

③ (정답) DENSE_RANK()는 동일 값에 같은 순위를 부여하되 다음 순위를 건너뛰지 않습니다(1,1,2,3...). ① (오답) ROW_NUMBER()는 동일 값이라도 서로 다른 번호를 부여합니다. ② (오답) RANK()는 동일 값에 같은 순위를 부여하지만 다음 순위를 건너뜁니다(1,1,3,4...). ④ (오답) NTILE()은 전체를 N개 그룹으로 나누는 함수로 순위 부여와는 다릅니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] 윈도우 함수 SQL 활용 기출 #643 | sqldpass