안녕하세요. 코난 김대우 입니다.
페이징 쿼리는 웹개발의 한 축이라고 봐도 좋을 정도로 다양하고 여러 방법들을 제공합니다.

알고계시는 것처럼, WebMatrix의 기본 내장 DB는 SQL CE(Compact Edition) 4.0을 사용하는데요, 여기서 쉽게 페이징을 구현하는 쿼리를 소개해 드리려고 해요. 

image

예시 쿼리 구문

 

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 & 사용자 강좌 검색 링크





profile

부족하지만, SQLER의 누군가와 함께한 나눔을 통해 제가 더 많이 즐거웠습니다.
SQLER와 함께 즐거워 할수록, 그 나눔을 통해 더 많은 기회와 가치를 발견하게 되었습니다.
나눔의 생각이 앞으로도 계속, SQLER를 움직일 것입니다.

코난, 김대우 / SQLER 운영자 / 골라먹는 SQLER RSS 정보 구독 / 실시간 SQLER 소식 uxkorea 트위터