티스토리 뷰

SQL/MS-SQL

MS-SQL 2000 페이징

공허공자 2009. 6. 2. 11:33

PageSize = 10
ListSize = 20
CurrentPage = 1


SELECT * FROM (
SELECT TOP (ListSize) * FROM (
SELECT TOP (CurrentPage * ListSize) [필드1], [필드2], [필드3]
FROM [테이블명]
WHERE [조건]
ORDER BY [필드1], [필드2]) LA
ORDER BY [필드1] DESC, [필드2] DESC) LB
ORDER BY [필드1], [필드2]

 

- select 할 필드들은 3번째 top 문에만 적어주면 된다.

- 조건문 또한 3번째 top 문에만 적어주면 된다.

- 3번째 top 문의 order by 가 desc 이면 4번째 desc 로 적힌 order by 는 asc 로 해야한다.

 

[출처] maxall 님 http://www.taeyo.pe.kr/Forum/Content.aspx?SEQ=463&TBL=KNOWHOW

'SQL > MS-SQL' 카테고리의 다른 글

DB복원후 사용자 계정 복구  (0) 2009.12.10
MS-SQL 테이블 백업  (0) 2009.11.28
사용자 정의 함수  (0) 2009.04.22
테이블 변수  (0) 2009.04.22
MS-SQL 스키마 보기 쿼리  (0) 2008.12.22
댓글