기본 콘텐츠로 건너뛰기

rownum in mysql


http://rocksea.tistory.com/213
http://dhplanner.blogspot.kr/2009/07/mysql-rownum-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0.html



DBMS별 rownum사용법.
개발을 하다보면 Paging처리나 그외 정렬의 문제로 Rownum을 써야 하는 상황이 오게 됩니다.
Oracle을 사용 해 본 사람이라면 일상적으로 사용하겠지만 그 외 DBMS만 사용해본 개발자 라면
Rownum이 생소하게 느껴 질 수 도 있기 떄문입니다.
(Paging 구현시 LIMIT 와 OFFSET 으로 구현이 가능하기 떄문에.)
그래서 자주쓰는 DBMS에 rownum사용법에 대해 정리 해 보았습니다.

User Table
name 
company_no 
홍길동 
신길동 
심길동 
고길동 

- 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


- MySQL
SELECT @RNUM := @RNUM + 1 AS NO, a.*
FROM
  (    SELECT *    FROM user  ORDER BY company_no ASC  ) a,  ( SELECT @RNUM := 0 ) b

댓글

이 블로그의 인기 게시물