MySQL/MariaDB dense_rank 함수. 랭킹(순위) 구하기
.
DENSE_RANK() 함수
- 동일한 순위를 가진 값들에 대해 동일한 순위를 할당.
- 다음 순위는 생략되지 않고, 순서대로 매깁니다.
ex) 두 행이 동일한 값을 가지고 1위로 지정되면, 그 다음 행은 2위로 순위가 됨.
예제 ) sale_amount 기준으로 순위 매기기.
SELECT id, salesperson, sale_item, sale_amount, DENSE_RANK() OVER (ORDER BY sale_amount DESC) as dense_rank FROM sales; |
결과. - rank 1 : 2개. 다음 rank : 2
id | salesperson | sale_item | sale_amount | dense_rank ---------------------------------------------------------------------------- 1 | Alice | item1 | 5000 | 1 3 | Charlie | item1 | 5000 | 1 4 | Alice | item3 | 4000 | 2 2 | Bob | item2 | 3000 | 3 5 | Eve | item2 | 3000 | 3 |
RANK() 함수
- 동일한 값들에 대해 동일한 순위를 할당.
- 다음 순위는 건너뛰기 ex) 1,1,3,4,,,,
ROW_NUMBER():함수
- 동일한 값들에 대해서도 각 행에 고유한 순위 번호를 부여
'MySQL MariaDB > SQL 문법' 카테고리의 다른 글
JOIN 문을 활용한 테이블 결합 - MariaDB 가이드 (0) | 2024.11.12 |
---|---|
MariaDB.CREATE INDEX (0) | 2024.11.11 |
기본 SQL 디버깅.쿼리 디자인. (1) | 2024.11.08 |
MySQL/MariaDB row_number 함수. 랭킹(순위) 구하기. (0) | 2024.07.15 |
MySQL/MariaDB rank 함수. 랭킹(순위) 구하기. (3) | 2024.07.15 |
MySQL / MariaDB case. when. then. 단일/다중 조건문. (0) | 2022.01.19 |
MySQL/MariaDB 세션 확인 / Session kill (0) | 2021.12.17 |
MariaDB/MySQL 정규표현식 (Regular Expression) (0) | 2021.12.09 |
댓글