[sql] 순위 함수 (RANK, ROW_NUMBER 등)

SQL에서는 여러 행 중에서 각 행의 순위를 계산하고 싶을 때 RANKROW_NUMBER와 같은 순위 함수를 사용할 수 있습니다. 이러한 함수들은 각 행에 대해 순위를 지정하고 결과 집합에 해당 순위를 포함시킬 수 있습니다.

RANK 함수

RANK 함수는 결과 집합 내에서 각 행의 순위를 매기는 데 사용됩니다. 만약 여러 행이 동일한 값을 가질 경우, 그룹 내에서 동일한 순위가 할당됩니다. 다음은 RANK 함수의 예시입니다.

SELECT name, score, RANK() OVER (ORDER BY score DESC) AS rank
FROM student_scores;

위의 코드는 student_scores 테이블에서 학생들의 점수를 기준으로 순위를 매기는 예시를 보여줍니다.

ROW_NUMBER 함수

ROW_NUMBER 함수는 결과 집합 내에서 각 행에 순차적으로 숫자를 할당하는 데 사용됩니다. 결과 집합 내에서 중복되는 값이 있더라도 각 행에 고유한 번호가 할당됩니다. 다음은 ROW_NUMBER 함수의 예시입니다.

SELECT name, score, ROW_NUMBER() OVER (ORDER BY score DESC) AS row_num
FROM student_scores;

위의 코드는 student_scores 테이블에서 학생들의 점수를 기준으로 각 행에 고유한 번호를 할당하는 예시를 보여줍니다.

순위 함수는 데이터 분석이나 순위 매기기와 같은 작업에서 유용하게 활용됩니다. 관련 자세한 내용은 데이터베이스 관련 문서를 참조하시기 바랍니다.

SQL Server 순위 및 창 함수