SQL 2005에서는 페이징 방법을 새롭게 적용 할 수 있습니다.
또한 쿼리 구문을 복잡하게 사용 하시던 분들은 SQL 2005에서 개발 한다면
아래와 같이 쉽게 사용 하시기 바랍니다.
DECLARE @CURRPAGE INT
DECLARE @MAXPAGE INT
SET @CURRPAGE = [현 페이지 주소]
SET @MAXPAGE = [페이지당 출력 수]
-- 1. WITH 구문을이용해서하는방법
WITH TEMP_TABLE AS
(
-- ====================================================================
SELECT
ROW_NUMBER() OVER(ORDER BY [소트할 내용]) AS RowNum,
*
FROM
[테이블 명]
-- ====================================================================
)
SELECT * FROM TEMP_TABLE WHERE ROWNUM BETWEEN ( ( @CURRPAGE - 1 ) * ( @MAXPAGE + 1 ) ) AND ( @CURRPAGE * @MAXPAGE )
-- 2. FROM를이용해서하는방법
SELECT
*
FROM
(
-- ====================================================================
SELECT
ROW_NUMBER() OVER(ORDER BY [소트할 내용]) as RowNum,
*
FROM
[테이블 명]
-- ====================================================================
) AS A
WHERE ROWNUM BETWEEN ( ( @CURRPAGE - 1 ) * @MAXPAGE ) + 1 AND ( @CURRPAGE * @MAXPAGE )
출처 : http://msmvp.egloos.com/3453597
'SQL > MS-SQL' 카테고리의 다른 글
[SQL] Split 구현하기 (8) | 2010.01.27 |
---|---|
[SQL] 여러 로우를 하나의 로우(필드, 컬럼)으로 합치기 (0) | 2010.01.25 |
[SQL] 다중 조건 처리하기 (4) | 2009.12.28 |