데이터 분석 - 순위 출력 (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 순위
'CS > 데이터베이스' 카테고리의 다른 글
[Oracle] 데이터 분석 - 순위의 비율 출력 (CUME_DIST) (0) | 2020.09.08 |
---|---|
[Oracle] 데이터 분석 - 등급 출력 (NTILE) (0) | 2020.09.08 |
[Oracle] 데이터 분석 - 순위 출력 (RANK) (0) | 2020.09.08 |
[Oracle] 개수 출력 (COUNT) (0) | 2020.09.07 |
[Oracle] 합계 출력 (SUM) (0) | 2020.09.07 |