DB(Oracle, Mysql 등)
오라클 rank()
하루에 2%만 벌자
2019. 12. 23. 17:08
반응형
가입자 수가 많은 순위 부여
SELECT NDAS_UPJONG_CD
, COUNT(*) AS CNT
, RANK() OVER (ORDER BY COUNT(*) DESC) AS RK
FROM TB_PREF_MASTER
WHERE CNTRCTWIRE_STATUS_SEC = '04'
GROUP BY NDAS_UPJONG_CD
위의 결과는 다음과 같다.
순위가 같을 경우 101에서 103 으로 랭킹을 부여한다.
RANK() 대신 DENSE_RANK()를 사용할 경우 중복된 수와 무관하게 RANK를 부여하다.
SELECT NDAS_UPJONG_CD
, COUNT(*) AS CNT
, DENSE_RANK() OVER (ORDER BY COUNT(*) DESC) AS RK
FROM TB_PREF_MASTER
WHERE CNTRCTWIRE_STATUS_SEC = '04'
GROUP BY NDAS_UPJONG_CD
반응형