DB/관계형 DB

랭킹 함수(Row_Number, Rank, Dense_Rank, NTile)

검은젤리곰 2021. 4. 22. 22:09

랭킹 함수에는 기본적으로 다음 네 가지 함수가 있다.

Row_Number 연결된 표현이나 다른 열에 명시된 순서에 따라 행 번호를 생성한다.
Rank 둘 이상의 행이 명시된 열이나 표현에 대해 행 번호를 생성한다(단, 같은 값을 가진 경우에 대해 같은 번호를 부여하고, 그 수 만큼 다음 번호를 건너뛴다. ex- 1, 2, 2, 4)
Dense_Rank Rank와 동일하지만 번호를 건너뛰지 않는다. ex- 1, 2, 2, 3
NTile 다은 열이나 표현에 명시된 수서에 근거해 백분위수나 다른 ntile을 생성한다.

위는 Row_Number, Rank, Dense_Rank의 사용 예시이다.

여기서 over 키워드는 랭크 함수가 어떻게 적용될지 지정한다.

위는 NTILE()함수의 사용 예이다. 사분위와 십분위로 나누었다.

앞서 본 함수들과 매개변수가 추가 된것 이외에는 동일하다.