Note
ROWNUM 명령어 : 순번 매기기
순위를 계산할 때는 ROW_NUMBER, RANK, DENSE_RANK 함수가 유용하지만 다음과 같이 행에 순번을 매기는 ROWNUM 명령어를 응용해서 순위를 계산할 수도 있습니다.
➊ 인라인 뷰에서 가져온 행에 순서대로 번호를 매깁니다.
➋ 전용 상품 매출을 내림차순으로 정렬합니다. 이렇게 하면 ROWNUM 순번을 매길 때 맨 위부터 1, 2, 3, … 식으로 번호가 매겨집니다.
➌ ROWNUM 명령어로 매긴 번호에 대해 10 이하만 출력합니다.
실행 결과
결과는 ROW_NUMBER 함수를 사용했을 때와 동일합니다. 다만 ROWNUM 명령어는 ROW_NUMBER 함수를 사용할 때보다 효율성이 떨어지고 논리가 복잡해지는 단점이 있습니다. 이 노트는 SQL을 작성할 때 한 가지 방법만 있는 것이 아니며, 사용자의 재량에 따라 다양한 방식으로 구현할 수 있다는 예를 보여 드린 것입니다.