0/28 완료
[1번]모든 직원을 급여 내림차순으로 정렬하여 전체 순위(ROW_NUMBER)를 부여하시오.
결과 예시
107행. 동점 급여가 있어도 각 행에 고유 순번 부여.
💡 키포인트
ROW_NUMBER() OVER(ORDER BY): 동점 무관 고유 순번. 같은 값도 다른 번호.
[2번]급여 기준 전체 순위를 ROW_NUMBER, RANK, DENSE_RANK 세 가지로 동시에 표시하시오.
결과 예시
동점 급여 행에서 ROW_NUMBER=고유번호, RANK=건너뜀, DENSE_RANK=연속번호 차이 확인.
💡 키포인트
세 함수 동점 처리 차이: ROW_NUMBER(고유) vs RANK(건너뜀) vs DENSE_RANK(연속).
[3번]각 부서별로 급여 순위(RANK)를 매기시오. 부서 내 순위도 함께 표시하시오.
결과 예시
각 부서 내 급여 높은 순으로 1위부터 순위 부여. 부서가 바뀌면 순위 초기화.
💡 키포인트
PARTITION BY department_id: 부서별 독립 순위. 부서 바뀌면 1부터 재시작.
[4번]각 부서에서 급여 상위 2위(DENSE_RANK 기준) 이내인 직원만 조회하시오.
결과 예시
각 부서 급여 1~2위 직원. 동점이면 2위 이내 기준으로 여러 명 포함.
💡 키포인트
분석 함수 결과로 필터링: 서브쿼리 필수. DENSE_RANK=2이면 동점자 모두 포함.
[5번]직무별 입사일 순위(ROW_NUMBER)를 구하고, 직무별 첫 번째 입사자를 조회하시오.
결과 예시
각 직무의 첫 번째 입사자(hire_date 기준) 1명씩 출력.
💡 키포인트
ROW_NUMBER는 동점 시 임의 고유번호. 동점 입사일 처리에 유의.
[6번]NTILE(4)로 직원을 급여 기준 4분위로 나누고 각 그룹의 평균 급여를 구하시오.
결과 예시
1~4분위별 행 수와 평균 급여 출력. 107행을 4분위로 배분.
💡 키포인트
NTILE(4): 1분위=하위, 4분위=상위. 행 수가 4로 나눠지지 않으면 앞 버킷에 1행 더.