CTE 를 사용하고 윈도우 함수를 사용하면 되는 문제였다. 생각보다 복잡했다.
WITH RankedEmployees AS (
SELECT EMP_NO, SUM(SCORE) SCORE, MAX(SUM(SCORE)) OVER () MaxScore
FROM HR_GRADE
GROUP BY EMP_NO
)
SELECT SCORE, EMP_NO, EMP_NAME, POSITION, EMAIL
FROM HR_EMPLOYEES
JOIN RankedEmployees r USING(EMP_NO)
WHERE SCORE = r.MaxScore
ORDER BY SCORE DESC;
SQL
복사