Oracle Rank () 및 Dense_Rank () : 자세한 비교
Oracle 's및 함수는 지정된 기준에 따라 행에 순위를 할당하지만 순위 방법론은 크게 다릅니다. 이 기사는 이러한 차이점을 명확히하고 실제 응용 프로그램을 보여줍니다.
함수 : 타이에 대한 순위를 건너 뛰는 RANK()
DENSE_RANK()
함수는 계층 적으로 순위를 부여합니다. 동일한 값을 가진 행은 동일한 순위를 받지만 후속 순위는 건너 뜁니다. 예를 들어, 3 개의 행이 가장 높은 값을 공유하면 모두 1 순위가 1 위, 다음 순위는 4 (2 및 3을 건너 뛰기)입니다.
는 유대가 존재하는 경우에도 연속 순위를 제공합니다. 동일한 예제를 사용하면 값이 가장 높은 3 행은 각각 1, 2 및 3 순위로, 연속 순위 시퀀스를 유지합니다.
RANK()
예시 예 : Nth 최고 급여 찾기
이 SQL은 효율적인 페이지 매김을 위해 RANK()
및
와 사이의 선택은 급여 관계의 경우 순위를 건너 뛰고 싶은지 여부에 따라 다릅니다.
DENSE_RANK()
널 값 처리
조항에 따라 다릅니다. DENSE_RANK()
는 에 대해 그 반대도 마찬가지입니다.
올바른 함수 선택
사용 뚜렷한 순위가 필요할 때도 관계가 있어도.
Oracle Dense_Rank () 함수 emptbl
<code class="language-sql">SELECT empname, sal FROM emptbl ORDER BY sal DESC OFFSET 2 ROWS FETCH NEXT 1 ROWS ONLY;</code>
위 내용은 Oracle의 Rank () vs. Dense_Rank () : 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!