2007년 12월 28일
SQL Server Pag Pagination Query
웹 보다가.. 다음에 쓸일이 있으면 써보야겠다. ㅎㅎ
1 : 일반적인
SELECT TOP page_size * FROM table WHERE primary_key
NOT IN
(
SELECT TOP page_size * (page_number - 1) primary_key FROM table
WHERE filter_conditions
ORDER BY sort_field
)
AND filter_criteria
ORDER BY sort_field
2 : 기본키 사용하여
SELECT * FROM table WHERE primary key
IN
(
SELECT TOP page_size primary_key FROM table WHERE primary_key
NOT IN
(
SELECT TOP page_size * (page_number - 1) primary_key FROM table
WHERE filter_conditions
ORDER BY sort_field
)
AND filter_criteria
ORDER BY sort_field
)
ORDER BY sort_field
3 : 프로시져 이용하기
4 : Rownum 이용하기
select TOP (PSize) *
from (
Select row_number() over (order by OrderByField desc) ROWNUM,
XXX
From XXX
where XXX
) page2
WHERE ROWNUM > PSize * (CurPage - 1)
ORDER BY page2.OrderByField Desc
# by | 2007/12/28 15:40 | SQL Server | 트랙백





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]