MySQL/MariaDB row_number 함수. 랭킹(순위) 구하기.
ROW_NUMBER():함수
- 동일한 값들에 대해서도 각 행에 고유한 순위 번호를 부여
예제 ) sale_amount 기준으로 순위 매기기.
SELECT id, salesperson, sale_item, sale_amount, ROW_NUMBER() OVER (ORDER BY sale_amount DESC) as row_number FROM sales; |
결과. - rank 1 : 2개. 다음 rank : 2
id | salesperson | sale_item | sale_amount | row_number ----------------------------------------------------------------------------- 1 | Alice | item1 | 5000 | 1 3 | Charlie | item1 | 5000 | 2 4 | Alice | item3 | 4000 | 3 2 | Bob | item2 | 3000 | 4 5 | Eve | item2 | 3000 | 5 |
RANK() 함수
- 동일한 값들에 대해 동일한 순위를 할당.
- 다음 순위는 건너뛰기 ex) 1,1,3,4,,,,
DENSE_RANK() 함수
- 동일한 값들에 대해 동일한 순위를 할당.
- 다음 순위는생략되지 않고, 순서대로 매김 ex) 1,1,2,3
'MySQL MariaDB > SQL 문법' 카테고리의 다른 글
MariaDB의 CREATE USER 명령어 사용법: 사용자 계정 생성과 관리 (0) | 2024.11.13 |
---|---|
JOIN 문을 활용한 테이블 결합 - MariaDB 가이드 (0) | 2024.11.12 |
MariaDB.CREATE INDEX (0) | 2024.11.11 |
기본 SQL 디버깅.쿼리 디자인. (1) | 2024.11.08 |
MySQL/MariaDB dense_rank 함수. 랭킹(순위) 구하기. (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 |
댓글