본문 바로가기
CS/데이터베이스

[Oracle] 데이터 분석 - 순위 출력 (DENSE_RANK)

by 김크롱 2020. 9. 8.

데이터 분석 - 순위 출력 (DENSE_RANK)

: 상세한 순위 출력 

 

SELECT column1, column2, column3, RANK() over (ORDER BY column3 DESC) as RANK,
                                  DENSE_RANK() over (ORDER BY column3 DESC) as DENSE_RANK
    FROM tablename
    WHERE column2 IN('KOREA', 'USA');

: DENSE_RANK는 순위가 겹쳐도 다음 순위로 출력 ex: 1,2,2,3,4,5

 

 

SELECT column1, column2, column3, DENSE_RANK() OVER (PARTITION BY column1
                                                     ORDER BY column2 DESC) as nickname
    FROM tablename
    WHERE columndate BETWEEN TO_DATE('2000/01/01', 'RRRR/MM/DD')
                         AND TO_DATE('2000/12/31', 'RRRR/MM/DD');

: 특정 기간 조건 사용

 

 

SELECT DENSE_RANK(3000) WITHIN GROUP (ORDER BY column1 DESC) as nickname
    FROM tablename;

: column1이 3000인 경우의 column1 순위 검색

* WITHIN GROUP(그룹) : 그룹 이내 

 

 

 

SELECT DENSE_RANK('20/01/01') WITHIN GROUP(ORDER BY columndate ASC) as nickname
    FROM tablename;

: columndate가 '20/01/01'인 경우 columndate 순위