[오라클 SQL] ROW_NUMBER() 를 이용한 Ranking(순위) 구하는 방법



 

안녕하세요~~

 

이번 포스팅에서는 오라클 SQL에서 ROW_NUMBER() 함수를 이용하여 Ranking(순위)를 구하는 방법에 대해서 알아보도록 하겠습니다.



 

우선, Student 테이블에 아래와 같은 데이터들이 있습니다.



 

여기서 저는 ROW_NUMBER()함수를 이용하여 같은 학년(GRADE)중에 나이가 제일 많은 순서대로 순위를 매겨 보도록 하겠습니다.

 

SQL 문


1

2

3

 SELECT NAME, AGE, GRADE,

 ROW_NUMBER() OVER (PARTITION BY GRADE ORDER BY(AGE) DESC) AS 학년별나이순위

 FROM WIN.STUDENT

Colored by Color Scripter

cs

 


SQL문에서  “ROW_NUMBER() OVER (PARTITION BY

GRADE ORDER BY(AGE) DESC) AS 학년별나이순위  

부분을 보시게 되면, PARTITION BY GRADE 설정을 주었는데 부분은 학년별 기준으로 ORDER BY(AGE)라고 하여, 학년별 기준 나이 순으로 Ranking(순위) 부여한다 라고 이해하시면 되겠습니다!

 

실행 결과



 

위와 같이 안정환, 류현진, 홍길동, 범범조조, 원숭이 순으로 학년별 나이 순위가 매겨진 것을 확인 하실 수 있습니다.

 

ROW_NUMBER()함수 사용법을 알고 계신다면, 실무에서도 유용하게 사용이 가능 하기 때문에, 꼭 알아 두시면 좋겠습니다.

 

감사합니다ㅎㅎ


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY