개발하자/DB&SQL
윈도우 함수 RANK() , DENSE_RANK()
i구야
2018. 7. 3. 15:32
*윈도우 함수로 순위 구하기
SELECT name,
age,
RANK() OVER(ORDER BY age DESC) AS rnk
FROM Address;
실행결과
name | age | rnk
--------+------+----
하린 | 55 | 1
준 | 45 | 2
기주 | 32 | 3
민 | 32 | 3
인성 | 30 | 5
RANK 함수는 숫자가 같으면 같은 순위를 표시하고 다음 순위는 건너뛰게 된다.
건너뛰는 작업 없이 순위를 구하고 싶을 때는 DENSE_RANK함수를 사용한다.
SELECT name,
age,
DENSE_RANK() OVER(ORDER BY age DESC) AS rnk
FROM Address;
실행결과
name | age | rnk
--------+------+----
하린 | 55 | 1
준 | 45 | 2
기주 | 32 | 3
민 | 32 | 3
인성 | 30 | 4