더북(TheBook)

Note

ROWNUM 명령어 : 순번 매기기

순위를 계산할 때는 ROW_NUMBER, RANK, DENSE_RANK 함수가 유용하지만 다음과 같이 행에 순번을 매기는 ROWNUM 명령어를 응용해서 순위를 계산할 수도 있습니다.

 

인라인 뷰에서 가져온 행에 순서대로 번호를 매깁니다.

전용 상품 매출을 내림차순으로 정렬합니다. 이렇게 하면 ROWNUM 순번을 매길 때 맨 위부터 1, 2, 3, … 식으로 번호가 매겨집니다.

ROWNUM 명령어로 매긴 번호에 대해 10 이하만 출력합니다.

 

실행 결과

 

결과는 ROW_NUMBER 함수를 사용했을 때와 동일합니다. 다만 ROWNUM 명령어는 ROW_NUMBER 함수를 사용할 때보다 효율성이 떨어지고 논리가 복잡해지는 단점이 있습니다. 이 노트는 SQL을 작성할 때 한 가지 방법만 있는 것이 아니며, 사용자의 재량에 따라 다양한 방식으로 구현할 수 있다는 예를 보여 드린 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.