티스토리 뷰
DBMS별 rownum사용법.
개발을 하다보면 Paging처리나 그외 정렬의 문제로 Rownum을 써야 하는 상황이 오게 됩니다.
Oracle을 사용 해 본 사람이라면 일상적으로 사용하겠지만 그 외 DBMS만 사용해본 개발자 라면
Rownum이 생소하게 느껴 질 수 도 있기 떄문입니다.
(Paging 구현시 LIMIT 와 OFFSET 으로 구현이 가능하기 떄문에.)
그래서 자주쓰는 DBMS에 rownum사용법에 대해 정리 해 보았습니다.
User Table
name |
company_no |
홍길동 |
4 |
신길동 |
2 |
심길동 |
3 |
고길동 |
1 |
- ORACLE
일단 Oracle에선 너무나 기본적으로 사용하기 떄문에 많은 분들이 아실거라 생각 됩니다만 정리 하는 차원에서 설명합니다.
SELECT name, ROW_NUMBER() OVER (ORDER BY company_no ASC) no
FROM USER;
OR
SELECT ROWNUM, a.* FROM ( SELECT * from USER order bu company_no ASC ) a
- PostgreSQL
oracle과 같지만 컬럼명 rownum을 단독으로 사용 할 순 없다.
SELECT name, ROW_NUMBER() OVER (ORDER BY company_no ASC) no
FROM USER;
- MySQL
SELECT @RNUM := @RNUM + 1 AS NO, a.*
FROM
( SELECT * FROM user ORDER BY company_no ASC ) a, ( SELECT @RNUM := 0 ) b
결과
no |
name |
company_no |
1 |
고길동 |
1 |
2 |
신길동 |
2 |
3 |
심길동 |
3 |
4 |
고길동 |
4 |
다른 DBMS도 테스트 후 이곳에 추가 해 보려 합니다.
.by rocksea
'Developer' 카테고리의 다른 글
[R] 데이터 분석예제 (2) | 2013.11.13 |
---|---|
[centos 6.x] exploit root 탈취에 대한 보안. (0) | 2013.11.13 |
[R]데이터 마이닝 도구 "R" 소개 및 설치. (0) | 2013.10.31 |
[redis] redis failover tool "Sentinel" 사용법. (5) | 2013.10.28 |
[Nodejs] imagemagick을 이용한 이미지 변환. (0) | 2013.10.18 |
- Total
- Today
- Yesterday
- nodejs
- memcached
- 가정법
- NGINX
- Business English
- 도덕경
- 비지니스 영어
- hadoop
- redis
- 스페인 여행
- hdfs
- mongoDB
- Python Django
- k8s
- it
- 비교구문
- JBOSS
- 영문법
- AWS
- PostgreSQL
- 해외여행
- Python
- ubuntu
- 대명사 구문
- 다낭
- 베트남
- 영작
- maven
- 여행
- 조동사
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |