동일 조건에 파일에 대해 순번을 주는 방법
이럴 경우 사용함..
1) History와 사용을 병행으로 하는 데이타일 경우
2) 계층구조의 데이타에서 특정 그룹의 데이타중 특정 필드로 정렬하여 1개의 값만 사용할 경우
즉, 각 ROW에 유일한 번호를 붙여 사용하기 유용하게 만드는 함수임.
e.g.) 부서별 해고일자순으로 ROW NUMBER 설정
SELECT
deptno,
ename,
hiredate,
ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY hiredate) AS emp_id
FROM
emp;
[테이블 구조]
위 예제에서 부서별 가장 최근 해고된 직원을 뽑기 위해서는
ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY hiredate DESC)
수정한 후, 한번 더 select 절로 감싸 "emp_id = 1" 조건문을 추가하면 된다.
e.g.) 부서별 가장 최근 해고된 직원은?!
SELECT
deptno,
ename,
hiredate,
FROM
(
SELECT
deptno,
ename,
hiredate,
ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY hiredate DESC) AS emp_id
FROM
emp;
)
WHERE
emp_id = 1