RANK() 이란?

YOBY·2023년 10월 6일
0

RANK() 함수는 SQL에서 사용되는 윈도우 함수 중 하나입니다.

이 함수는 데이터를 정렬하고 정렬된 순서에 따라 각 행에 순위를 부여합니다.

예를 들어, 결과 집합에서 특정 열을 기준으로 순위를 매겨보겠습니다.

간단한 예를 통해 설명하겠습니다.
아래의 예시는 scores 테이블에서 학생들의 점수를 기준으로 랭킹을 매기는 쿼리입니다.

SELECT
  student_name,
  score,
  RANK() OVER (ORDER BY score DESC) as ranking
FROM scores;

위의 쿼리에서 RANK() OVER (ORDER BY score DESC) 부분이 RANK() 함수입니다.


이 함수는 다음과 같이 구성되어 있습니다.

  • RANK(): 순위를 매길 대상 열을 지정합니다.

  • OVER: 윈도우 함수를 시작하는 키워드.

  • (ORDER BY score DESC): 정렬 기준을 나타냅니다.
    이 경우 score를 내림차순으로 정렬합니다.


결과는 다음과 같습니다:

| student_name | score | ranking |
|--------------|-------|---------|
| John         | 85    | 2       |
| Jane         | 92    | 1       |
| Bob          | 75    | 3       |
| Mary         | 88    | 4       |

위의 결과에서 ranking 열은 학생들의 점수를 기준으로 내림차순으로 정렬했을 때의 순위를 나타냅니다.

RANK() 함수를 사용하면 데이터를 정렬하고 정렬된 순서에 따라 순위를 부여할 수 있습니다.

이를 활용하여 상위 N개의 결과를 선택하거나, 순위별로 특정 조건을 적용하는 등 다양한 분석 작업을 수행할 수 있습니다.

0개의 댓글