728x90
[정의]
쿼리에 의해 반환되는 행 번호를 출력
데이터에 순번을 메기거나, 특정 번호 데이터를 출력할 때 사용
[문법]
select * from 테이블 where rownum between 1 and 5
> between과 함께 사용가능
select * from (select rownum num, member.* from member) where num between 1 and 5
-> select rownum 부분을 member테이블에 합침 num이라는 별칭을 붙임
rownum 뒤에 별칭 붙일 수 있음
select * from (select rownum num, notice.* from notice)
where num between 1 and 5;
>rownum으로 테이블을 따로 생성해서 데이터 출력할 수 있다. 기존 notice가 아니고 활용한 새로운 결과 집합임
ROW_NUMBER() OVER ([PARTITION BY value_expression, ... [n]] order_by_clause)
> over partition by와 함께 사용가능
[예제]
SELECT JOB, ENAME, SAL
, RANK( ) OVER (ORDER BY SAL DESC) RANK
, ROW_NUMBER() OVER (ORDER BY SAL DESC) ROW_NUMBER
FROM EMP;
JOB ENAME SAL RANK ROW_NUMBER
--------- ---------- ---------- ---------- ----------
PRESIDENT KING 5000 1 1
ANALYST FORD 3000 2 2
ANALYST SCOTT 3000 2 3
MANAGER JONES 2975 4 4
MANAGER BLAKE 2850 5 5
MANAGER CLARK 2450 6 6
SALESMAN ALLEN 1600 7 7
SALESMAN TURNER 1500 8 8
CLERK MILLER 1300 9 9
SALESMAN WARD 1250 10 10
SALESMAN MARTIN 1250 10 11
CLERK ADAMS 1100 12 12
CLERK JAMES 950 13 13
CLERK SMITH 800 14 14
728x90
'MS SQL > MS SQL' 카테고리의 다른 글
| MSSQL : UNION , UNION ALL, INTERSECT (0) | 2023.02.27 |
|---|---|
| MS SQL : TEMP TABLE, OBJECT_ID (0) | 2023.01.31 |
| MS SQL : @@rowcount 영향받은 행 수 반환 (0) | 2022.11.28 |
| MSSQL - 프로시저 생성,조회,삭제,찾기 (0) | 2022.05.13 |
| MS SQL : distinct 중복 값 제거 (0) | 2022.05.04 |