[SQL] RANK / DENSE_RANK /ROW_NUMBER (순위함수 그리고 최신데이터 출력 방법)


[SQL] RANK / DENSE_RANK /ROW_NUMBER (순위함수 그리고 최신데이터 출력 방법)

RANK(), DENSE_RANK(), ROW_NUMBER() 각각 순위/순서를 반환하는 함수이지만 결과는 조금씩 다르다. RANK는 동점자의 있는 경우 동일 순번을 리턴, 다음 순위는 다음 숫자를 하나를 건너뛴다. (1, 2, 2, 4, 4, 6, .. ) DENSE_RANK는 동점자의 경우에 동일한 순번을 리턴, 다음 순위는 다음 숫자부터 진행이 된다 (1, 2, 2, 3, 3, 4, .. ) ROW_NUMBER의 경우 동점자가 있는 경우에 정렬이 된 순서대로 순서를 반환한다. (1, 2, 3, 4, 5, 6, 7, ...) 아래와 같은 데이터가 있다고 가정해보자. 쿼리의 결과는 아래와 같다 순위를 산정할때에 RANK 또는 DENSE_RANK를 사용하면 유용하다. 그러나 업무중에서 가장 많이 사용했던 함수는 ROW_NUMBER 함..........



원문링크 : [SQL] RANK / DENSE_RANK /ROW_NUMBER (순위함수 그리고 최신데이터 출력 방법)