이전 문서에서 나는 사용량의 행이 이전과는 다음에 이상 절이 있습니다. 이 예제가 동일한 데이터베이스를 사용과 테이블에서 만든 이전의 예를 표시하는 행 결합하지 않은 모두 선행하고 다음과 같습니다.,

SQL Server2012 의 TSQL 에서 사용할 수있는 새로운 기능 중 하나는 앞의 행과 다음 행의 바인딩되지 않은 옵션입니다. 앞 및 다음 옵션을 사용할 때 사용 가능의 제한되지 않은 옵션. 여기에 그들이 어떻게 작업을 수 있습니다…

행 UNBOUNDED 위

-- ROWS UNBOUNDED PRECEDINGselect Year, DepartmentID, Revenue, min(Revenue) OVER (PARTITION by DepartmentID ORDER BY ROWS UNBOUNDED PRECEDING) as MinRevenueToDatefrom REVENUEorder by departmentID, year;

이 예제에서 MinRevenueToDate 목록의 가장 낮은 수익에 대한 이 행과 모든 이 행에 의해 주문 날짜 현재 부 id 입니다.

행 1 이 MinRevenueToDate 를 10030 으로 설정하고 수익 연도가 낮은 행 7 까지 변경되지 않는다는 것을 알 수 있습니다.,

그런 다음 16 행은 현재까지 가장 낮은 실행 수익을 가진 새 부서에 대해 다시 시작합니다. 그런 다음 21 행은 더 낮은 수익 번호로 재설정됩니다.

행 제한 없음

이제 예를 들어의 무제한 다음과 같다:

-- ROWS UNBOUNDED FOLLOWINGselect Year, DepartmentID, Revenue, min(Revenue) OVER (PARTITION by DepartmentID ORDER BY ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) as MinRevenueBeyondfrom REVENUEorder by departmentID, year;

어디에 당신이 볼 수 있는 min(수익)을 계산의 모든 행을 통해 현재 행에서 집합의 끝을 분할하여 departmentID.,

무제한 옵션은 매우 유용합을 결정하는 계산 시작 부분에서의 설정을 현재에는 현재 행에서 끝나의 세트 또는 그룹이다.이 기능은 SQL Server2012 에 도입되었으며 이전 버전에서는 사용할 수 없음을 명심하십시오.

관련 링크

  • SQL 쿼리 교육
  • CTE 데이터는 페이징
  • 통해 항로 행한 범위