페이지 매김이란 무엇입니까?

페이지 매김은 큰 데이터를 개별 페이지의 더 작은 데이터 세트로 나누는 프로세스입니다. 웹 애플리케이션에서 널리 사용됩니다.

MS SQL Server에서 페이지 매김은 어떻게 작동합니까?

~ 안에 MS SQL Server우리는 다음을 사용하여 페이지 매김 기능을 얻을 수 있습니다. OFFSET 그리고 FETCH ORDER BY가 있는 절 SELECT 진술.

  • OFFSET: 결과 집합에서 건너뛸 행 수를 나타냅니다. 0이거나 0보다 커야 합니다.
  • FETCH: 결과에 표시할 행 수를 나타냅니다.

사용 중 고려해야 할 중요 사항 OFFSET 그리고 FETCH:

  • ORDER BY는 사용에 필수입니다. OFFSET FETCH 절.
  • OFFSET 필수이며 FETCH 선택 사항입니다.
  • TOP 절을 사용할 수 없습니다 SELECT 와 함께 OFFSET FETCH.

예를 살펴보겠습니다.

아래 예에서, OFFSET 0 그리고 FETCH NEXT 5 ROWS 행을 생략하고 데이터 세트의 다음 5개 행(데이터 세트의 처음 5개 행)을 반환합니다.

SELECT EmployeeKey,FirstName,LastName,Title,EmailAddress,
Phone,EmergencyContactName,DepartmentName
FROM dbo.DimEmployee WITH(NOLOCK)
ORDER BY EmployeeKey 
OFFSET 0 ROWS
FETCH NEXT 5 ROWS ONLY

오프셋 0 및 다음 5개 행 가져오기

아래 예에서, OFFSET 3 그리고 FETCH NEXT 5 ROWS 데이터 세트에서 처음 3개 행을 건너뛰고 다음 5개 행을 반환하는 것을 의미합니다.

SELECT EmployeeKey,FirstName,LastName,Title,EmailAddress,
Phone,EmergencyContactName,DepartmentName
FROM dbo.DimEmployee WITH(NOLOCK)
ORDER BY EmployeeKey 
OFFSET 3 ROWS
FETCH NEXT 5 ROWS ONLY

오프셋 3 및 다음 5개 행 가져오기PageNumberRowsOfPage

  • PageNumber — 페이지 번호를 나타냅니다.
  • RowsOfPage — 페이지의 행 수를 나타냅니다.

이제 다음 페이지 수식으로 이동할 때 건너뛸 행 수를 계산하려면(@PageNumber-1) * @RowsOfPage 에 사용되고 있다 OFFSET행 수가 반환됩니다. FETCH.

여기, PageNumber 는 2이고 RowsOfPage 5는 페이지 번호 2에 대한 데이터 세트를 반환한다는 의미입니다.

DECLARE @PageNumber AS INT
       ,@RowsOfPage AS INT

SET @PageNumber=2
SET @RowsOfPage=5

SELECT EmployeeKey,FirstName,LastName,Title,EmailAddress,
Phone,EmergencyContactName,DepartmentName
FROM dbo.DimEmployee WITH(NOLOCK)
ORDER BY EmployeeKey
OFFSET (@PageNumber-1) * @RowsOfPage ROWS
FETCH NEXT @RowsOfPage ROWS ONLY

OFFSET (@PageNumber-1) * @ RowsofPage 및 FETCH NEXT @RowsOfPage ROWS

결론

실시간 애플리케이션에서 이 완전한 논리는 웹 애플리케이션에서 “다음” 또는 페이지 번호 버튼을 클릭하여 호출되는 저장 프로시저에 작성되어 페이지에 레코드 세트를 표시할 수 있습니다.

OFFSET 및 FETCH를 사용하여 MS SQL Server에서 페이지 매김 방법의 모든 것 [Simple] 내가 언급 한 방법은 잘 작동했습니다. 읽어주셔서 감사합니다. 이 기사에 대한 귀하의 생각을 아래에 댓글로 남겨주세요. signalfix.net 친구와 함께.