2011-05-04 2 views
1

SQL Server 데이터베이스의 테이블에서 일부 레코드를 가져 오려고합니다. 하나의 쿼리에서 다음 1000 개의 다음 쿼리에서 처음 1000 개의 레코드를보고 싶습니다. 마찬가지로 ..sql SQL 서버 데이터베이스 테이블의 레코드를 부분적으로 가져옵니다.

SQL Server에서도 가능합니까? 검색하는 동안 mysql에 대한 LIMIT 절이 발견되었지만 sql server에는 작동하지 않습니다. 그래서 하나는 SQL에서 줄 수 있습니다. 도와주세요.

답변

2

먼저 1000 개 기록 :

SELECT TOP 1000 * 
FROM mytable 
ORDER BY 
     mycolumn 

일반 솔루션 (지원 오프셋)

SELECT * 
FROM (
     SELECT *, 
       ROW_NUMBER() OVER (ORDER BY mycolumn) rn 
     FROM mytable 
     ) q 
WHERE rn BETWEEN 1001 AND 2000 
ORDER BY 
     mycolumn 
관련 문제