반응형

방법1:

 

select top 10 * from tblname

where id not in (

    select top 100 id from tblname

);

 

 

 

방법2:

 

select * from (

    select row_number() over (order by id) as rownum, * from tblname

) t1

where t1.rownum between 101 and 110;

 

 

 

방법3:

 

SQL Server 2012의 새로운 기능인 OFFSET은 지정한 행의 수만큼 건너 뛴 후에 출력하는 기능을 한다.

 

ex)

 

 

 

 

SELECT userID, name, birthYear FROM userTbl

ORDER BY birthYear

OFFSET 4 ROWS;

 

 

 

 

 

 

전체 10명인데 그 중에서 4명을 건너 뛰고 5번째 행부터 출력되었다.

이는 나이가 어린 6명을 출력하는데 사용할 수 있다.

주의할 점은 OFFSET을 사용하려면 ORDER BY 문이 함께 나와야 한다는 점이다.

FETCH NEXT는 출력될 행의 수를 지정할 수 있다.

 

 

SELECT userID, name, birthYear FROM userTBL

ORDER BY birthYear

OFFSET 4 ROWS

FETCH NEXT 3 ROWS ONLY;

 

 

 

 

 

 

FETCH NEXT에 3을 지정하면 3행만 출력하게 된다.

지금은 데이터가 적어서 큰 효과가 없지만, 대용량의 데이터에서 특정 열로 지정한 후, 몇번째 행부터

몇 개 행 가져오기를 할 때 유용하게 사용될 수 있다.

 

출처 : https://developerking.tistory.com/18

반응형

+ Recent posts