Leetcode SQL50 (185)

Pocketopi·2025년 4월 29일

[MYSQL] Leetcode

목록 보기
25/34
post-thumbnail

🔔 문제

부서별로 TOP 3 급여를 받는 직원을 출력하라.
[Department Top Three Salaries]

🎯 풀이 전략

🔑 핵심 포인트

  1. CTE에서 부서별로 급여 랭킹 부여
  2. TOP3 급여를 받는 직원을 메인 쿼리에 작성
    ❗ DENSE_RANK를 사용한다.

💻 정답 쿼리 예시

WITH CTE AS (
    SELECT *, DENSE_RANK() OVER (PARTITION BY DEPARTMENTID ORDER BY SALARY DESC) AS RNK
    FROM EMPLOYEE
)

SELECT D.NAME AS DEPARTMENT, E.NAME AS EMPLOYEE, SALARY
FROM CTE E JOIN DEPARTMENT D
ON E.DEPARTMENTID = D.ID
WHERE RNK <= 3

💡 핵심문법 및 배운 점

⏱️ 걸린 시간: 8분 36초

profile
통계학/컴퓨터공학 전공 4학년 학생 DA뿌수기 일기장

0개의 댓글