DB
msSql 에서 mySql 에서의 Limit 처럼 사용하는 방법
호이잇!
2019. 8. 7. 11:46
방안 1.
select top 10 * from tblname
where key not in (
select top 100 key from tblname
);
PK 값과 TOP 을 이용하여 뽑아냄 저 구문은 101~110 Row 가 나올듯
방안 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 절과 같이 사용되어야함!!