'ROW_NUMBER()'에 해당되는 글 1건

  1. 2007.08.21 | ROW_NUMBER() OVER(ORDER BY CLMNAME)

ROW_NUMBER() OVER(ORDER BY CLMNAME)

ORACLE | 2007. 8. 21. 15:33
Posted by Haronoid
SELECT시 컬럼에 로우번호 넣기
ROW_NUMBER() OVER(PARTITION BY 패턴컬럼명 ORDER BY 정렬컬럼명)
  • ROW_NUMBER()번호를 넣는 함수 뒤에 OVER와 ORDER BY가 필수
  • PARTITION BY 키워드로 패턴별로 번호를 넣을수 있다.
  • ORDER BY에 ROWID를 넣으면 기존의 (로우)순서로 나오게 된다.
  • 오라클9i이후 버전부터 유효하다.

ex) ROW_NUMBER() OVER(ORDER BY CLM)
//테이블의 100번째부터 300번째까지의 라인을 출력
SELECT * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY ROWID) ROW_NO,
TABLE_NAME.*
FROM TABLE_NAME )
WHERE ROW_NO BETWEEN 100 AND 300;

ex) PARTITION BY
아래의 결과를
------------------
| COL_1 | COL_2 |
|----------------|
| A | A1 |
| A | B1 |
| A | C1 |
| B | A2 |
| B | B2 |
| B | C2 |
| B | D2 |
| C | A3 |
| C | B3 |
| C | C3 |
| C | D3 |
| D | A4 |
| D | B4 |
| D | C4 |
------------------아래처럼 출력
--------------------
| COL_1 | COL_2 | NO
|-------------------
| A | A1 | 1
| A | B1 | 2
| A | C1 | 3
| B | A2 | 1
| B | B2 | 2
| B | C2 | 3
| B | D2 | 4
| C | A3 | 1
| C | B3 | 2
| C | C3 | 3
| C | D3 | 4
| D | A4 | 1
| D | B4 | 2
| D | C4 | 3
------------------
SELECT COL_1,
            COL_2,
            ROW_NUMBER() OVER(PARTITION BY COL_1 ORDER BY COL_2) NO
FROM TABLE_NAME

 
블로그 이미지

Haronoid

기본적으로 프로그래밍 관련 메모를 중점으로 합니다. 자세한 설명이 결여되어 있을 가능성이 있습니다.

카테고리

분류 전체보기 (29)
프로그래밍 기본 (1)
VB&VBA (1)
JAVA (0)
ORACLE (10)
WidnowsCommandLine (2)
Excel (1)
Windows (1)
.NET (6)
MS SQL (6)