ROW NUMBER() OVER(PARTITION BY [그루핑할 컬럼] ORDER BY [정렬할 컬럼])
PARTITION BY를 사용해야지 그루핑된 컬럼 내에서 순위가 매겨짐!!
SELECT ROW_NUMBER() OVER(PARTITION BY T1.JOB ORDER BY T1.JOB, T1.ENAME) AS ROW_NUM
, T1.*
FROM EMP T1
ORDER BY T1.JOB, T1.ENAME;
예시: 부서에서 급여가 제일 높은 직원
SELECT T2.*
FROM (
SELECT ROW_NUMBER() OVER(PARTITION BY T1.DEPTNO ORDER BY T1.SAL DESC) AS ROW_NUM
, T1.*
FROM EMP T1
) T2
WHERE T2.ROW_NUM = 1;