본문 바로가기
Skills/MsSQL

MSSQL ROW_NUMBER()란?

by Hoseok 2023. 9. 26.
728x90
반응형

 

SQL Server에는 ROW_NUMBER()라는 함수가 있다.

 

조회한 데이터의 ROW 번호를 매겨주는 것인데, 실무를 하다보면 가끔 필요할 경우가 생긴다.

 

사용 방법은

 

ROW_NUMBER() OVER(ORDER BY(정렬조건))

 

을 사용하면 된다.

 

ORDER BY 절 안에 정렬 조건을 넣어서, 어떤 기준으로 번호를 매길 지 결정해주자.

 

아래는 STUDENT 테이블에서 학번으로 ROW_NUMBER를 매기는 쿼리문이다.

 

 

SELECT ROW_NUMBER() OVER(ORDER BY (StudentNumber)) AS RowNum
	,StudentNumber
FROM Student

 

 

만약, 아무 정렬 조건 없이, SELECT했을 때, 보이는 순서대로 번호를 매기고 싶다면,

 

아래처럼 SELECT 1을 넣어주면 된다.

 

SELECT ROW_NUMBER() OVER(ORDER BY (SELECT 1)) AS RowNum
	,StudentNumber
FROM Student

 

 

조금 더 응용한다면,

 

아래처럼 ClassNumber로 그룹지어서, 

 

반별로 번호를 따로 매길 수도 있다.

 

 

SELECT ROW_NUMBER() OVER(PARTITION BY ClassNumber ORDER BY (SELECT 1)) AS RowNum
	,StudentNumber
    ,ClassNumber
FROM Student
728x90
반응형