윈도 함수는 행을 그룹으로 합치지 않고, 각 행 옆에 집계나 순위를 붙입니다. 같은 급여에는 같은 순위를 주고 다음 순위를 건너뛰지 않는 방식이 필요합니다.
모든 사원의 이름, 급여, 급여 순위를 조회하세요. 급여가 높을수록 1위이며 같은 급여는 같은 순위, 다음 순위는 연속되어야 합니다.
부서 테이블
| 부서번호 | 부서명 | 지역 |
|---|---|---|
| 10 | 경영 | 서울 |
| 20 | 개발 | 판교 |
| 30 | 영업 | 부산 |
| 40 | 인사 | 대전 |
사원 테이블 — 수당이 없는 사원은 NULL, 부서 미배정 사원은 부서번호가 NULL
| 사원번호 | 이름 | 직급 | 부서번호 | 급여 | 수당 | 입사일 |
|---|---|---|---|---|---|---|
| 1 | 김철수 | 부장 | 10 | 5000 | NULL | 2018-03-01 |
| 2 | 이영희 | 과장 | 20 | 4000 | NULL | 2019-06-15 |
| 3 | 박민수 | 대리 | 20 | 3000 | NULL | 2020-01-10 |
| 4 | 최지우 | 사원 | 20 | 2500 | 500 | 2021-09-01 |
| 5 | 정해인 | 과장 | 30 | 3800 | 300 | 2019-11-20 |
| 6 | 한가인 | 대리 | 30 | 2800 | NULL | 2020-07-07 |
| 7 | 오세훈 | 사원 | 30 | 2200 | 400 | 2022-02-14 |
| 8 | 신동엽 | 부장 | 10 | 5200 | NULL | 2017-05-05 |
| 9 | 김보검 | 사원 | NULL | 2400 | NULL | 2023-01-05 |
결과의 컬럼 이름은 채점하지 않습니다. 값과 행·열의 모양만 맞으면 정답이에요.
함수() OVER (...)는 상세 행을 유지한 채 순위·집계를 붙입니다.PARTITION BY는 계산 그룹, 윈도 안의 ORDER BY는 계산 순서를 정합니다.ORDER BY로 따로 지정해야 합니다.SQL을 작성하고 Run 을 눌러보세요.