Cache SQL 을 이용해서 웹 게시판 페이지 크기 단위로 잘라주는 쿼리문은 어케 만들면 되나요?
아래와 같이 쿼리문을 만들어 보세요.
select * from ( select top (@pageSize) * from ( select top (@pageSize*pageNumber) * from tableName order by colName asc ) as t1 order by colName desc) as t2 order by colName asc
가령, Sample 네임스페이스에서 Sample.Person 테이블에 대해 한페이지에 10개씩(Page Size=10) 보이고 싶다면, 아래와 같이 쿼리해 봅니다. 차례대로 첫 페이지와 두번째 페이지가 나타납니다.
첫 페이지 10개 가져오기:
select * from ( select top 10 * from ( select top 10 * from Sample.Person order by Name asc ) as t1 order by Name desc) as t2 order by Name asc
두번째 페이지 10개 가져오기:
select * from ( select top 10 * from ( select top 20 * from Sample.Person order by Name asc ) as t1 order by Name desc) as t2 order by Name asc