ERROR/SQL
[Mariadb/row_number()]데이터에 그룹별로 넘버링
onlyun
2023. 10. 18. 17:35
https://mariadb.com/kb/en/row_number/
ROW_NUMBER
Row number of a given row with identical values receiving a different result.
mariadb.com
| 학생별로 넘버링
# select 데이터
# course별 mark 순서로 넘버링 -rank() , # course별 mark 순서로 넘버링 - dense_rank()
# course 별 넘버링하는 방법 - row_number()
| 쿼리
SELECT
RANK() OVER (PARTITION BY course ORDER BY mark DESC) AS rank,
DENSE_RANK() OVER (PARTITION BY course ORDER BY mark DESC) AS dense_rank,
ROW_NUMBER() OVER (PARTITION BY course ORDER BY mark DESC) AS row_num,
course, mark, name
FROM student ORDER BY course, mark DESC;
| 해당 데이터 생성 쿼리
CREATE TABLE student(course VARCHAR(10), mark int, name varchar(10));
INSERT INTO student VALUES
('Maths', 60, 'Thulile'),
('Maths', 60, 'Pritha'),
('Maths', 70, 'Voitto'),
('Maths', 55, 'Chun'),
('Biology', 60, 'Bilal'),
('Biology', 70, 'Roger');