IT
[MSSQL] ROW_NUMBER() 함수 사용법
우주벨루가
2022. 9. 29. 16:13
728x90
320x100
ROW_NUMBER함수 정의
- 결과 집합의 PARTITION 내 각 행에 순차적인 정수를 할당하는 윈도우 함수
ROW_NUMBER함수 특징
- 행의 번호는 각 PARTITION에 대해 1번부터 할당
- 중복 값의 경우에도 다른 정수 값 할당
ROW_NUMBER함수 구문
SELECT
ROW_NUMBER() OVER( ORDER BY 기준컬럼명 asc ) AS [NUM]-- 오름차순 기준
, *
FROM 대상테이블
ORDER BY 기준컬럼명 asc -- 동일하게 설정 (동일하게 하지 않을 경우, 순서대로 조회되지 않음)
* ROW_NUMBER()함수는 정수를 순차적으로 할당하는 윈도우 함수이므로 ORDER BY절이 필수적으로 필요.
[예제1] 특정한 기준 없이, 정렬할 경우
SELECT
ROW_NUMBER() OVER ( ORDER BY (SELECT 1) ) as [NUM]
, *
FROM 대상테이블
[예제2] 특정한 컬럼명 기준으로, 그룹핑하여 정렬할 경우
SELECT
ROW_NUMBER() OVER ( PARTITON BY 컬럼명 ORDER BY 기준컬럼명 ) as [NUM]
, *
FROM 대상테이블
* PARTITION BY 절은 결과 집합을 파티션으로 나눈다.
각 파티션에 별도로 정수를 할당하며, 각 파티션 별로 1번부터 할당한다.
(PARTITION BY 절은 옵션, 기재하지 않는 경우 전체를 한 집합으로 인식)
728x90