*윈도우 함수로 순위 구하기
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
'개발하자 > DB&SQL' 카테고리의 다른 글
인덱스 스캔과 테이블 풀스캔 (0) | 2018.07.04 |
---|---|
윈도우 함수로 카운트하기 (0) | 2018.07.03 |
mysql ALIAS_FOR_SUBQUERY (0) | 2018.06.01 |