[MySQL] RANK 함수

2024. 4. 16. 19:20·코테/정리
728x90

만약 [STUDENTS]라는 테이블이 존재할 때, RANK함수별 어떻게 결과가 나타나는지 확인해보자.

ID NAME AGE SCORE
1 김바닐라 18 76
2 이포도 15 95
3 조망고 14 83
4 박딸기 19 83

 

 

1. ROW_NUMBER()

: 결과 집합 내의 각 행에 고유 번호를 할당.

SELCT ID, NAME, AGE, SCORE,
ROW_NUMBER() OVER(ORDER BY SCORE DESC) AS GRADE_RANK
FROM STUDENTS;
ID NAME AGE SCORE GRADE_RANK
1 김바닐라 18 76 4
2 이포도 15 95 1
3 조망고 14 83 2
4 박딸기 19 83 3

 

 

2. RANK()

: 동일한 값을 가진 행에 대해 동일한 순위를 사용한다.

동일한 값을 가진 행은 동일한 순위를 받고 다음 순위에 대한 시퀀스에 간격이 나타난다.

ex) 2등을 한 사람이 2명일 경우, 1등 2등 2등 4등 

SELCT ID, NAME, AGE, SCORE,
RANK() OVER(ORDER BY SCORE DESC) AS GRADE_RANK
FROM STUDENTS;
ID NAME AGE SCORE GRADE_RANK
1 김바닐라 18 76 4
2 이포도 15 95 1
3 조망고 14 83 2
4 박딸기 19 83 2

 

 

3. DENSE_RANK()

: RANK()와 유사하지만, 동일한 순위 값이 있을 경우 순위 시퀀스에 간격이 없다.

즉, 4명 중 2등을 한 사람이 2명이어도 1등 2등 2등 3등이 된다.

SELCT ID, NAME, AGE, SCORE,
DENSE_RANK() OVER(ORDER BY SCORE DESC) AS GRADE_RANK
FROM STUDENTS;
ID NAME AGE SCORE GRADE_RANK
1 김바닐라 18 76 3
2 이포도 15 95 1
3 조망고 14 83 2
4 박딸기 19 83 2

 

 

 

728x90

'코테 > 정리' 카테고리의 다른 글

[MySQL] SUBSTR() 사용해서 문자열 뒤에서 부터 자르기  (0) 2024.05.16
[MySQL] CONV함수 사용해서 진수 변환하기  (0) 2024.05.16
[코테 대비] BFS/DFS 정리 + 차이점  (0) 2024.02.06
[MySQL] GROUP BY 1  (0) 2023.07.05
[MYSQL] 중복제거한 데이터 개수 카운트하기  (0) 2023.06.07
'코테/정리' 카테고리의 다른 글
  • [MySQL] SUBSTR() 사용해서 문자열 뒤에서 부터 자르기
  • [MySQL] CONV함수 사용해서 진수 변환하기
  • [코테 대비] BFS/DFS 정리 + 차이점
  • [MySQL] GROUP BY 1
DROPDEW
DROPDEW
💻 Developer | 기록하지 않으면 존재하지 않는다
  • DROPDEW
    제 2장 1막
    DROPDEW
  • 전체
    오늘
    어제
    • Dev (443)
      • App·Android (1)
      • BE (50)
        • HTTP 웹 기본 지식 (8)
        • 스프링 입문 - 코드로 배우는 스프링 부트, 웹 .. (12)
        • 스프링부트와 JPA 활용 (11)
        • 스프링부트 시큐리티 & JWT (0)
        • 실전 자바 기본, 중급 (1)
        • PHP (11)
      • FE·Client (23)
        • HTML (1)
        • React (19)
        • Unity (1)
      • Data (28)
        • AI (7)
        • Bigdata (6)
        • Database (1)
        • Python (0)
        • 빅데이터분석기사 (13)
      • Infra (1)
      • Activity (9)
        • Intern (0)
        • SK AI Dream Camp (2)
        • 구름톤 유니브 4기 (1)
        • 리모트 인턴십 6기 (3)
        • 봉사활동 (0)
        • 부스트캠프 AI Tech 8기 (3)
      • CS (8)
      • 취준 (12)
        • 자격증 (4)
        • 인적성·NCS (6)
        • 코테·필기·면접 후기 (2)
      • 코테 (270)
        • Algorithm (222)
        • SQL (35)
        • 정리 (13)
      • 인사이트 (27)
        • 금융경제뉴스 (7)
        • 금융용어·지식 (2)
        • 북마크 (7)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    그래프탐색
    매개변수탐색
    그리디알고리즘
    문자열
    누적합
    티스토리챌린지
    정렬
    구현
    투포인터
    이분탐색
    너비우선탐색
    자료구조
    백준
    브루트포스 알고리즘
    그래프이론
    다이나믹프로그래밍
    시뮬레이션
    수학
    오블완
    최단경로
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
DROPDEW
[MySQL] RANK 함수
상단으로

티스토리툴바