mssql 도 오라클처럼 rownum을 사용할 수 있습니다. 조금 다르지만 사용가능합니다.
예)
- 한 페이지에 10개씩 출력되는 게시판의 첫번째 페이지이고
- ExTable ( exid varchar(20), regdate datetime) 라고 가정하고.
- 페이지 스케일이 10 row 일때
- 한 페이지에 10개씩 출력되는 게시판의 첫번째 페이지이고
- ExTable ( exid varchar(20), regdate datetime) 라고 가정하고.
- 페이지 스케일이 10 row 일때
SELECT exid, regdate
FROM (
FROM (
SELECT Row_Number() OVER (ORDER BY regdate DESC) AS rownum, exid, regdate FROM ExTable
) Table
WHERE rownum BETWEEN [(페이지번호-1) * 스케일+1] AND [페이지번호 * 스케일]
이렇게 쓰면 됩니다.
'not in' 에 서브쿼리로 구현한 것 본적이 있는데 페이지 수가 많아지면 골치아파 집니다.
not in은 절대 비추입니다.
단 MSSQL 2000 에서는 안되는걸로 알고있습니다.
WHERE rownum BETWEEN [(페이지번호-1) * 스케일+1] AND [페이지번호 * 스케일]
이렇게 쓰면 됩니다.
'not in' 에 서브쿼리로 구현한 것 본적이 있는데 페이지 수가 많아지면 골치아파 집니다.
not in은 절대 비추입니다.
단 MSSQL 2000 에서는 안되는걸로 알고있습니다.
반응형
'IT 개발' 카테고리의 다른 글
[Android 팁(java)] Integer to String (0) | 2011.02.21 |
---|---|
[Android 팁] URL에 공백과 한글이 같이 있을때 (0) | 2011.02.17 |
[개발 팁] asp 날짜관련 함수 (0) | 2011.02.11 |
[SQL] 오라클, MSSQL 상위 10개만 가져오는 쿼리문(oracle top 10) (0) | 2011.02.11 |
[기타 팁] 리눅스, 윈도우 멀티부팅 시 부팅 순서 조절 (0) | 2011.02.11 |
댓글