IT

'page'에 해당되는 글 1건

  1. 2013.06.30 오라클 페이징 쿼리

  1. 페이지 수를 계산하여 셀렉트

SELECT *   FROM (SELECT T0.*, FLOOR((ROWNUM - 1) / 한 페이지에 보여지는 row수  + 1) PAGE           FROM (

                   -- 쿼리를 할 실제 부분 Start                      SELECT BBS_ID                       ,DEPTH_CD                       ,BBS_SEQ                       ,TTL                       ,CNTS                       ,COUNT(*) OVER() AS TOT_CNT                   FROM MTI_BBS                    -- 쿼리를 할 실제 부분 End                 ) T0         )

 WHERE PAGE = 페이지 값


 

2. ROW_NUMBER()를 이용한 페이징

SELECT * FROM (
 SELECT A.*, ROW_NUMBER() OVER(ORDER BY ID DESC) AS NUM  
 FROM OP_SAMPLE A
)
WHERE NUM BETWEEN 999991 AND 1000000;


  3. ROWNUM을 이용한 페이징 1

SELECT * FROM ( 
    SELECT ROWNUM AS RNUM, Z.* FROM ( 
        SELECT  * FROM OP_SAMPLE ORDER BY ID DESC
    ) Z WHERE ROWNUM <= 1000000  
) WHERE RNUM >= 999991;

 

  4. ROWNUM을 이용한 페이징 2

SELECT * FROM (      SELECT ROWNUM AS rnum, A.* FROM (      <!--  sql 입력 -->          ) A WHERE ROWNUM <= #{pagediv} * #{page} ) WHERE RNUM > #{pagediv} * (#{page} -1)

 

  ※ MySql의 경우

SELECT * FROM OP_SAMPLE 
ORDER BY ID DESC LIMIT 999991, 10;

 

'소프트웨어 > Oracle' 카테고리의 다른 글

Number타입 컬럼의 자바 클래스의 필드 타입  (0) 2013.07.15
오라클 힌트  (0) 2013.07.15
merge into 문법  (0) 2013.06.27
엔티티 도메인 추가 & Subject Area 생성  (0) 2011.05.31
[erwin7.2] logical/physical model  (0) 2011.05.30
Posted by sinpk