TIL (Today I Learned)

[Oracle SQL] ROW_NUMBER( ) 사용하기

프리랜서가 들려주는 IT세계 2019. 8. 29. 16:30
반응형

1. ROWNUM 키워드 이용 방법

  • 조회된 순서대로 순번을 매긴다
SELECT ROWNUM
	, COL.*
  FROM SCOTT.EMP COL
 ORDER BY COL.ENAME

 

  • ORDER BY를 사용하면 순번이 뒤섞이므로 정렬된 서브쿼리 결과에 ROWNUM을 매겨야 한다
SELECT ROWNUM
	, Z.*
 FROM ( SELECT COL.*
  		FROM SCOTT.EMP COL
 		ORDER BY COL.ENAME
 	  ) Z

 

2.ROW_NUMBER( ) 함수를 사용하는 방법

 

-ORDER BY 된 결과에 순번을 매길때에는 ROWNUM 보다 ROW_NUMBER( ) 함수가 더 편하다.

SELECT ROW_NUMBER() OVER(ORDER BY Z.AA, Z.BB) NUM
	, Z.*
  FROM SCOTT.EMP Z
ORDER BY Z.AA, Z.BB

-그룹별(PARTITION)로 순번을 따로 부여할 수 있다.

SELECT ROW_NUMBER() OVER(PARTITION BY Z.AA ORDER BY Z.AA, Z.BB) NUM
	, Z.*
  FROM SCOTT.EMP Z
 ORDER BY Z.AA, Z.BB

 

참조: https://gent.tistory.com/170

 

[Oracle|오라클] 조회 순번 매기는 방법 ( ROWNUM, ROW_NUMBER() )

1. ROWNUM 키워드 이용하는 방법 - 조회된 순서되로 순번을 매긴다. SELECT ROWNUM , A.* FROM SCOTT.EMP A ORDER BY A.ENAME - ORDER BY 를 사용하면 순번이 뒤섞이므로 정렬된 서브쿼리 결과에 ROWNUM 을 매겨야..

gent.tistory.com

반응형