RANK 함수
- RANK 함수는 동일한 값에 대해 동일한 순위를 부여하고 그 다음 값에 대해 다음 순위를 부여합니다.
- 예를 들어, 1위, 2위, 2위, 4위와 같이 중복된 순위가 발생할 수 있습니다.
- 중복된 값이 있을 때는 그 다음 순위는 중복된 값의 개수만큼 건너뛰게 됩니다.
DENSE_RANK 함수
- DENSE_RANK 함수는 동일한 값에 대해 중복된 순위를 부여하지 않습니다. 즉, 중복된 값이 있더라도 순위는 중복되지 않습니다.
- 예를 들어, 1위, 2위, 2위, 3위와 같이 중복된 순위가 발생하지 않습니다.
- 중복된 값이 있더라도 그 다음 순위는 중복된 값의 개수와 상관없이 1씩 증가합니다.
따라서, RANK 함수는 순위 사이에 빈 공간이 생길 수 있지만, DENSE_RANK 함수는 그렇지 않습니다. 또한, RANK 함수는 중복된 값에 대해 동일한 순위를 부여하지만 DENSE_RANK 함수는 그렇지 않습니다.
이러한 차이점을 고려하여 데이터에 맞는 윈도우 함수를 선택할 수 있습니다.
'DB' 카테고리의 다른 글
여러 INSERT 문을 한 번에 실행하기 (0) | 2024.02.08 |
---|---|
DBeaver 단축키 (1) | 2024.02.07 |
쿼리문에서 1을 사용하는 이유 (0) | 2024.02.03 |
유저 탈퇴 트리거 (0) | 2024.02.01 |
트리거 연습 2 (0) | 2024.01.30 |