초이준철
물낌표
초이준철
전체 방문자
오늘
어제
  • 분류 전체보기 (59)
    • Python (6)
    • SQL (37)
    • 경험 (4)
    • Tableau (7)
      • Tableau 기본 (2)
      • Tableau 빅스데이터 22여름 대학생 TWBX (5)
    • 책으로 배우는 공부 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • TWBX 과제
  • MYSQL 집계함수
  • 데이터 분석 방법
  • 데벨챌
  • MYSQL group by
  • 새빨간 거짓말 통계
  • 데이터 심리학
  • mysql 문자열 자르기
  • MYSQL CASE문
  • Mysql ifnull
  • 데이터리안
  • 통계책
  • mysql set
  • mysql concat
  • 물낌표
  • MYSQL desc
  • TWBX 대학생
  • MYSQL insert
  • mysql 문자열 연결
  • MYSQL 테이블 구조

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
초이준철

?!

[MySQL] 그룹지어 순위 매기는 방법 ROW_NUMBER() OVER PARTITION BY
SQL

[MySQL] 그룹지어 순위 매기는 방법 ROW_NUMBER() OVER PARTITION BY

2022. 9. 27. 11:13

occupations 테이블

> 직업별로 그룹화를 하고 순위를 매기는 방법은 어떻게 할까요?

위와 같은 질문에 답은 row_number() over(partition by 그룹화 기준 칼럼)입니다.

 

쿼리1)

SELECT Name, occupation, ROW_NUMBER() OVER(PARTITION BY occupation) AS rank FROM oocupations;
결괏값: 각 직업을 기준으로 그룹화가 되어 순위를 매겨줍니다.

결괏값

 


 

> 조금 더 나아가 직업별로 그룹화를 하고, 이름 순으로 순위를 매기는 방법은 어떻게 할까요?

답은 ROW_NUMBER() OVER(PARTITION BY 그룹화 기준 칼럼 ORDER BY 정렬 기준 칼럼)입니다.

 

쿼리2)

SELECT Name, occupation, ROW_NUMBER() OVER(PARTITION BY occupation ORDER BY Name) AS 'rank'
FROM occupations;
결괏값: 직업을 기준으로 그룹화되고, 이름 순으로 순위를 매깁니다.

결괏값

저작자표시 (새창열림)
    'SQL' 카테고리의 다른 글
    • [MySQL] 문자열 연결 함수 CONCAT_WS() 알아보기
    • [MySQL] 데이터 추가하는 방법 알아보기 INSERT (feat. 테이블 구조 확인)
    • [MySQL] 문자열 자르는 방법 SUBSTR()
    • [MySQL] COALESCE 함수로 NULL 값 처리하기 (feat. IFNULL 차이점)
    초이준철
    초이준철
    WNWA

    티스토리툴바