1. ROWNUM 키워드 이용하는 방법
- 조회된 순서되로 순번을 매긴다.
SELECT ROWNUM , a.*
FROM (조회할 테이블 or 쿼리) a
- ORDER BY 를 사용하면 순번이 뒤섞이므로 정렬된 서브쿼리 결과에 ROWNUM 을 매겨야 한다.
SELECT ROWNUM
, x.*
FROM ( SELECT a.*
FROM emp a
ORDER BY a.ename
) x
2. ROW_NUMBER() 함수를 사용하는 방법
- ORDER BY 된 결과에 순번을 매길때에는 ROWNUM 보다 ROW_NUMBER() 함수가 더 편하다.
SELECT ROW_NUMBER() OVER(ORDER BY a.job, a.ename) row_num
, a.*
FROM emp a
ORDER BY a.job, a.ename
- 그룹별(PARTITION)로 순번을 따로 부여할 수 있다.
SELECT ROW_NUMBER() OVER(PARTITION BY a.job ORDER BY a.job, a.ename) row_num
, a.*
FROM emp a
ORDER BY a.job, a.ename
'Database > Oracle' 카테고리의 다른 글
[Oracle] delete, update후 복구 (0) | 2022.04.21 |
---|---|
[Oracle] 쿼리의 특정 범위만 조회 ( PAGE 조회) (0) | 2022.03.15 |
[Oracle] ANSI JOIN (0) | 2022.03.03 |
[Oracle] 쿼리 실행시 바인드 입력이 나올때 (0) | 2022.02.15 |
[Oracle] 포트포워딩후 외부접속 허용 (0) | 2021.12.17 |
댓글