Menu
Coddy logo textTech

ROW_NUMBER function

Coddy SQL 여정의 기초 섹션에 포함된 레슨 — 72개 중 57번째.

윈도우 함수는 현재 행과 관련된 테이블 행 집합에 대해 계산을 수행합니다. 일반 집계 함수와 달리, 윈도우 함수는 결과를 단일 행으로 축소하지 않습니다.

이들은 다음이 필요할 때 특히 유용합니다:

  • 누적 합계를 계산할 때
  • 그룹 내 항목을 순위 매길 때
  • 현재 행을 이전/이후 행과 비교할 때
  • 시간 기간에 걸친 추세를 분석할 때

예를 들어, window functions 사용 사례에 대한 실제 세계 예시들이 여기 있습니다:

  • 판매 분석
    • 각 연도(1995, 1997, 1999)까지의 누적 판매 계산
    • 각 분기별 베스트셀러 제품 찾기
  • 스포츠 통계
    • 다양한 연도에 걸친 올림픽 메달 수 추적
    • 각 대회 기간(2000, 2004, 2008)의 선두 선수 식별

ROW_NUMBER()는 가장 간단한 윈도우 함수 중 하나입니다. 이 함수는 결과 집합의 각 행에 고유한 순차 번호를 할당합니다. 사용 방법은 다음과 같습니다:

SELECT column1, column2,
       ROW_NUMBER() OVER ([PARTITION BY column] [ORDER BY column]) as row_num
FROM table_name;

OVER 절을 ROW_NUMBER()와 함께 사용해야 합니다: ROW_NUMBER() OVER ()

예를 들어:

SELECT product_name, sale_date,
       ROW_NUMBER() OVER () as row_num
FROM sales;

이것은 1부터 행의 총 개수까지 세는 row_num 열을 추가합니다.

참고: OVER 절은 번호 매기기 방식을 제어하기 위해 정렬 및 분할 지시를 포함할 수 있습니다.

challenge icon

챌린지

쉬움

사용 가능한 테이블과 열:

  • <strong>liquids</strong>: <strong>id</strong>, <strong>density</strong>

밀도가 5.677보다 큰 모든 liquids를 가져오세요.

결과에 번호를 매기세요 (ROW_NUMBER() 함수를 사용하세요) 그리고 이 컬럼을 row_num이라고 지정하세요.

치트 시트

윈도우 함수는 현재 행과 관련된 테이블의 행 집합에 걸쳐 계산을 수행하며, 결과를 단일 행으로 축소하지 않습니다.

ROW_NUMBER()은 각 행에 고유한 순차 번호를 할당합니다:

SELECT column1, column2,
       ROW_NUMBER() OVER ([PARTITION BY column] [ORDER BY column]) as row_num
FROM table_name;

ROW_NUMBER()에는 OVER 절이 필수입니다:

SELECT product_name, sale_date,
       ROW_NUMBER() OVER () as row_num
FROM sales;

직접 해보기

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨