SQL 4 Oracle 오라클용 sql 실무

SQL4Oracle

RANK 순위 추출

돌프1 2023. 3. 10. 13:51

2011-08-04 15:49:58


SQL 4 Oracle 오라클용 sql  실무
▒ RANK 순위 추출

 

### RANK()              그룹의 순위을 리턴하는 오라클 함수(1등,2등,2등,4등,5등).
### DENSE_RANK()  그룹의 유니크한 순위을 리턴하는  오라클 함수(1등,2등,2등,3등,4등).
### CEIL()    숫자값을 소숫점 첫째자리에서 올림하여 정수값을 리턴하는 오라클 함수.

      주어진 인수보다 크지 않은 최대 정수   CEIL( 3.1) 결과 4,  CEIL( -3.1) 결과 -3

### FLOOR() 숫자값을 소숫점 첫째자리에서 절삭하여 정수값을 리턴하는 오라클 함수.

     주어진 인수보다 작지 않은 최소 정수    FLOOR( 3.1) 결과 3,  FLOOR( -3.1) 결과 -4

### ROUND() 숫자값을 특정 위치에서 반올림하여 리턴하는 오라클 함수.
### TRUNC() 숫자값을 특정 위치에서 절삭(버림)하여 리턴하는 오라클 함수.

 

SELECT 지역구분, 고객ID,
       sum(점수) 합계점수,
       RANK() OVER (PARTITION BY 지역구분 ORDER BY sum(점수) desc) 순위,
       CEI(RANK() OVER (PARTITION BY 지역구분 ORDER BY sum(점수) desc) / count(*) OVER (PARTITION BY 지역구분) * 100) 순위비율                              
FROM 목적_Table
WHERE 고객상태='활동중'
GROUP BY 지역구분, 고객ID