방안 1.
select top 10 * from tblname
TOP 을 이용한 Limit 갯수만큼 뽑기
PK 값과 TOP 을 이용하여 페이징도 가능
if (empty($pageno)) $pageno=1;
select top $PageSize $query_list_field
from (select $list_field
from $Tbl where $_whereqry
) tb
where $pk_field not in (select top (($PageNo-1)*$PageSize) $pk_field from $Tbl a where $_whereqry)
$PageSize = 페이지당 게시글갯수
$query_list_field , list_field=페이지에 표시될컬럼
$Tbl =테이블
$_whereqry=조건식
$pk_field =pk컬럼
$PageNo=페이지넘버
방안 2.
select * from (
select row_number() over (order by key) as rownum, * from tblname
) tbl1
where tbl1.rownum between 101 and 110;
요거는 Window Function 을 이용하여 Rownum 을 매기고 그 Rownum 을 이용하여 검색하는 방법
방안 3.
select * from tblname
order by key
OFFSET 100 ROWS
FETCH NEXT 10 ROWS ONLY
mssql 2012 버전부터는 OFFSET, FETCH 구문을 이용하여 사용가능
다만 order by 절과 같이 사용되어야함!!
'DB 지식 > mssql지식' 카테고리의 다른 글
MSSQL 테이블 목록 조회 쿼리 (0) | 2024.01.29 |
---|---|
MSSQL/ SQL Server - 서버 정보 저장하기 (0) | 2024.01.24 |
[SQL Server / MS-SQL] 중복 데이터 삭제 /PK 없는 테이블 중복 데이터 제거 (0) | 2024.01.17 |
mssql 날자형식 지정/ 데이터 형식지정 /날짜 포맷 (1) | 2024.01.03 |