MSSQL
01. [MSSQL] MSSQL 에서 MySQL처럼 LIMIT 사용하는 방법
drizzle0925
2021. 8. 5. 15:38
728x90
방법 1
Primary key(key) 값과 TOP을 이용하여 데이터를 조회합니다. 아래 구문은 101~110 Row 가 나옵니다.
SELECT TOP 10 * FROM table_name
WHERE key not in (
SELECT TOP 100 key FROM table_name
);
방법 2
Window Function 을 이용하여 rownum을 매기고 그 rownum을 이용하여 검색하는 방법
SELECT * FROM (
SELECT row_number() OVER (ORDER BY key) AS rownum, * FROM table_name
) tbl1
WHERE tbl1.rownum BETWEEN 101 AND 110;
방법 3
MSSQL 2012 버전부터는 OFFSET, FETCH 구문을 이용하여 조회하는 것이 가능합니다.
다만, ORDER BY 절과 같이 사용해야 됩니다.
SELECT * FROM table_name ORDER BY key OFFSET 100 ROWS FETCH NEXT 10 ROWS ONLY
728x90