Oracle SQL : rank () 및 dense_rank () 이해를 이해합니다
와 기능 사이의 주요 차이점을 명확하게합니다. 주요 차이점 :
RANK()
DENSE_RANK()
: 동일한 순위를 묶은 행에 할당하여 순위 시퀀스의 간격을 초래합니다. 여러 행이 순위를 공유하면 다음 순위가 묶인 순위에 걸쳐 건너칩니다. 예를 들어, 3 개의 행이 2 위를 차지하면 모두 "2"순위를 받고 다음 순위는 "5"입니다.
: 넥타이가없는 틈없이 연속 순위를 할당합니다. 계급의 건너 뛰기는 없습니다. 순위 시퀀스는 연속적으로 유지됩니다.
실용 응용 프로그램 : N 번째 최고 급여 찾기
테이블에서 N 번째로 높은 급여를 검색하려면 이와 유사한 쿼리를 사용할 수 있습니다 (보다 효율적인 방법이 존재하지만) : .
RANK()
절에 따라 다릅니다. 널이 먼저 주문되면 (DENSE_RANK()
) 가장 낮은 순위를 받게됩니다. 마지막으로 주문하면 (
는 널을 다르게 처리하는 연속 순위를 보여줍니다. 출력 테이블은 뚜렷한 순위 행동을 시각적으로 나타냅니다. (참고 :이 예제는 제공된 데이터와 함께 존재하며 실제 테이블 이름으로 바꾸는 테이블이 있다고 가정합니다.) emptbl
.
위 내용은 Oracle SQL에서 RANK()와 DENSE_RANK()의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!