SQL Server ROW_NUMBER 함수

요약 :이 자습서에서는 SQL Server 사용 방법을 배웁니다. ROW_NUMBER() 함수를 사용하여 결과 집합의 각 행에 순차 정수를 할당합니다.

SQL Server ROW_NUMBER () 함수 소개

ROW_NUMBER() 결과 집합의 파티션 내 각 행에 순차 정수를 할당하는 창 함수입니다. 행 번호는 각 파티션의 첫 번째 행에 대해 1로 시작합니다.

다음은 ROW_NUMBER() 함수의 구문을 보여줍니다.

ROW_NUMBER() 함수의 구문을 자세히 살펴보세요.

PARTITION BY

PARTITION BY 절은 결과 집합을 파티션으로 나눕니다 (행 그룹에 대한 또 다른 용어). ROW_NUMBER() 함수는 각 파티션에 개별적으로 적용되며 각 파티션의 행 번호를 다시 초기화했습니다.

PARTITION BY 절 선택 사항입니다. 건너 뛰면 ROW_NUMBER() 함수가 전체 결과 집합을 단일 파티션으로 취급합니다.

ORDER BY

ORDER BY 절은 결과 집합의 각 파티션 내에서 행의 논리적 순서를 정의합니다. ROW_NUMBER() 함수는 순서를 구분하므로 ORDER BY 절은 필수입니다.

SQL 서버 ROW_NUMBER () 예제

샘플 데이터베이스의 sales.customers 테이블을 사용하여 ROW_NUMBER() 함수를 시연합니다. .

SQL Server 사용 ROW_NUMBER () 결과 집합에 대한 함수

다음 문은 ROW_NUMBER()를 사용하여 각 고객 행에 일련 번호를 할당합니다.

다음은 출력 :

이 예에서는 PARTITION BY 절을 건너 뛰었으므로 ROW_NUMBER()는 전체 결과 집합을 단일 파티션으로 처리했습니다.

SQL 사용 파티션을 통한 서버 ROW_NUMBER () 예제

다음 예제는 ROW_NUMBER()를 사용합니다. 각 고객에게 순차 정수를 할당하는 함수. 도시가 변경되면 번호가 재설정됩니다.

다음 그림은 부분 출력을 보여줍니다.

이 예에서는 PARTITION BY 절을 사용하여 고객을 도시별로 파티션으로 나누었습니다. 행 번호는 도시가 변경 될 때 다시 초기화되었습니다.

페이지 매기기에 SQL Server ROW_NUMBER () 사용

ROW_NUMBER() 함수는 페이지 매김에 유용합니다. 응용 프로그램에서. 예를 들어 각 페이지에 10 개의 행이있는 페이지별로 고객 목록을 표시 할 수 있습니다.

다음 예에서는 ROW_NUMBER()를 사용하여 11 행의 고객을 반환합니다. 두 번째 페이지 인 20으로 :

출력은 다음과 같습니다.

이 예에서 :

  • 먼저 CTE는 ROW_NUMBER() 함수를 사용하여 결과 집합의 모든 행은 순차적 인 정수를 설정합니다.
  • 둘째, 외부 쿼리는 행 번호가 11에서 20 사이 인 두 번째 페이지의 행을 반환했습니다.

이 자습서에서는 SQL Server ROW_NUMBER() 함수를 사용하여 쿼리 파티션 내의 각 행에 순차 정수를 할당하는 방법을 배웠습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다