#rank์ dense_rank
SELECT id, salary
-- ๋ถ์ ํจ์์ order by ์ ์ ์ฌ์ฉํ์ฌ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ ๋ค rank() ํจ์๊ฐ ์์๋ฅผ ๋ฐํ
, RANK() OVER (ORDER BY salary DESC) ranking1
, DENSE_RANK() OVER (ORDER BY salary DESC) ranking2
, ROW_NUMBER() OVER (ORDER BY salary DESC) ranking3
FROM (
select 100 id, 39000 salary from dual union all
select 101 id, 30000 salary from dual union all
select 102 id, 9000 salary from dual union all
select 103 id, 17000 salary from dual union all -- ์ค๋ณต
select 104 id, 60000 salary from dual union all
select 105 id, 9500 salary from dual union all
select 106 id, 17000 salary from dual union all -- ์ค๋ณต
select 107 id, 37500 salary from dual union all
select 108 id, 25000 salary from dual union all
select 109 id, 5000 salary from dual union all
select 110 id, 17000 salary from dual -- ์ค๋ณต
) ;
---------------------------------------------
ID SALARY RANKING1 RANKING2 RANKING3
---------------------------------------------
104 60000 1 1 1
100 39000 2 2 2
107 37500 3 3 3
101 30000 4 4 4
108 25000 5 5 5
103 17000 6 6 6
110 17000 6 6 7
106 17000 6 6 8
105 9500 9 7 9
102 9000 10 8 10
109 5000 11 9 11
---------------------------------------------