페이징 쿼리는 웹개발의 한 축이라고 봐도 좋을 정도로 다양하고 여러 방법들을 제공합니다.
알고계시는 것처럼, WebMatrix의 기본 내장 DB는 SQL CE(Compact Edition) 4.0을 사용하는데요, 여기서 쉽게 페이징을 구현하는 쿼리를 소개해 드리려고 해요.
예시 쿼리 구문
SELECT
*
FROM Orders
ORDER BY OrderID
OFFSET 20 ROWS --3페이지를 가져온다면… (페이지번호-1) * 페이지사이즈
FETCH NEXT 10 ROWS ONLY; --페이지 사이즈
예를들어, 3번째 페이지를 보실 경우, SQL CE 4.0에서 이용 가능한 Orders 테이블에서 20번째부터 10개의 row를 가져오는 페이징 쿼리 입니다. 옷~ 깔끔하죠!!!
기존 방식의 쿼리보다 내장된 페이징 처리 방식을 이용해 깔끔하게 페이징 처리로 사용 가능하니 도움 되시길 바랍니다.
웹사이트에서 페이지 번호와 페이지 사이즈(몇건을 가져올지)를 위처럼 처리 하시면 되죠.
도움 되시길 바랍니다.
주의 :
위의 쿼리는 WebMatrix의 SQL CE 4.0로 만들 경우에만 사용 가능합니다. SQL서버에서는 사용 하실 수 없습니다.
SQL서버를 이용하실 경우에는 아래 참고링크의 페이징 방식을 참고 하시면 유용하실 거에요.
참고링크 :
Support for Paging Queries in SQL Server CE 4.0
SQL Server의 페이징 쿼리
SQL서버의 페이징 관련 정보 – SQL Tip & 사용자 강좌 검색 링크