템플릿
SELECT T.*
FROM
(
SELECT ROW_NUMBER() OVER(ORDER BY 기준_컬럼명) RNUM
,컬럼1,컬럼2,컬럼3,컬럼4
FROM 테이블명
WHERE 1=1
)T
WHERE T.RNUM BETWEEN 시작숫자 AND 끝숫자
;
예시
SELECT T.*
FROM
(
SELECT ROW_NUMBER() OVER(ORDER BY EMP_NO) RNUM
,EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY, FILENAME
FROM EMPLOYEE
WHERE 1=1
)T
WHERE T.RNUM BETWEEN 1 AND 10
;
페이징 처리할 때 사용
SELECT T.*
FROM
(
SELECT ROW_NUMBER() OVER(ORDER BY BOOK_ID DESC) RNUM
,BOOK_ID, TITLE, CATEGORY, PRICE, INSERT_DATE
FROM BOOK
WHERE 1 = 1
<include refid="where"></include>
) T
WHERE T.RNUM BETWEEN ((#{currentPage}*10)-(10-1)) AND (#{currentPage}*10)
'DB > SQL' 카테고리의 다른 글
[MySQL & ORLACLE] IFNULL (0) | 2024.09.05 |
---|---|
두 테이블 join (0) | 2024.05.15 |
여러 파일 중 첫번째 결과값만 가져오는 쿼리문 (상관관계 서브 쿼리) (0) | 2024.05.11 |
PL/SQL 이용한 더미데이터 만들기 (0) | 2024.04.27 |
등록번호 쿼리문 (0) | 2024.04.27 |