안녕하세요,
score ranking strategy에서 dense_rank / rank / row_number 옵션의 차이점을 아시는 분이 계신가요?
안녕하세요,
score ranking strategy에서 dense_rank / rank / row_number 옵션의 차이점을 아시는 분이 계신가요?
row_number() →bigint
파티션 내에서 현재 행의 번호를 1부터 시작하여 반환합니다.
rank() →bigint
현재 행의 순위를 간격이 있는 형태로 반환합니다. 즉, 동일한 순위(peer group)에 속하는 첫 번째 행의row_number를 반환합니다.
dense_rank() →bigint
현재 행의 순위를 간격 없이 반환합니다. 이 함수는 기본적으로 peer group의 수를 세는 역할을 합니다.
결국 동점(tie) 처리 방식을 변경하는 것입니다.
row_number에서는 동점이 존재하지 않습니다.rank의 경우, 5위에 두 개가 동점이면 다음 순서는 6위가 건너뛰어져 7위가 됩니다.dense_rank의 경우, 5위에 두 개가 동점이면 다음 순서는 6위가 됩니다.