Contents
내가 작성한 쿼리

내가 작성한 쿼리
WITH
-- 사원 별 총 점수 테이블
CTE_TOTAL_SCORE AS (
SELECT
emp_no,
SUM(score) AS score
FROM
HR_GRADE
GROUP BY
emp_no
),
-- 사원 정보 테이블과 사원 별 총점 테이블을 합찬 후 총점 별 순위를 매긴 테이블
CTE_SCORE_RANK AS (
SELECT
C.emp_no, E.emp_name, E.position, E.email, C.score,
DENSE_RANK() OVER(ORDER BY score DESC) `rank`
FROM
CTE_TOTAL_SCORE AS C
JOIN HR_EMPLOYEES AS E
ON C.emp_no = E.emp_no
)
-- 1등만 조회하는 테이블
SELECT
score,
emp_no,
emp_name,
position,
email
FROM
CTE_SCORE_RANK
WHERE
`rank`= 1;
- DENSE_RANK()
- 특정 기준에 따라 순위를 매기되 순위 간격 없이 연속적으로 부여
- OVER()
- DENSE_RANK() 조건 작성
Share article