[MySQL] RANK() 함수

niz w·2025년 2월 6일

SQL

목록 보기
17/17

RANK()

순위를 부여하는데... 동일 순위가 있는 경우 그 수만큼 다음 순위를 뛰어넘는다!
EX) 1, 2, 3, 3, 5, 6, 7, 7, 7, 10, ...

SELECT [컬럼1], [컬럼2], ...,
	RANK() OVER (ORDER BY [정렬 기준 컬럼명] [ASC 또는 DESC]) AS [별칭]
FROM [테이블명];


DENSE_RANK()

동일 순위가 있어도 그 수만큼 건너뛰지 않고 부여한다!
EX) 1, 2, 2, 3, 3, 3, 4, 5, 6, 7, ...

SELECT [컬럼1], [컬럼2], ...,
	DENSE_RANK() OVER (ORDER BY [정렬 기준 컬럼명] [ASC 또는 DESC]) AS [별칭]
FROM [테이블명];


ROW_NUMBER()

동일 순위가 있어도 무조건 순서대로 부여한다!
EX) 1, 2, 3, 4, 5, 6, 7, ...
2순위와 3순위의 값이 동일해도 순서대로!

SELECT [컬럼1], [컬럼2], ...,
	ROW_NUMBER() OVER (ORDER BY [정렬 기준 컬럼명] [ASC 또는 DESC]) AS [별칭]
FROM [테이블명];


작성 방법은 전부 동일하고, 부여 방식만 다를 뿐이다!

0개의 댓글