Menu
CoddyTech

PARTITION BY 기준

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

OVER () 절의 또 다른 옵션은 PARTITION BY입니다.

이를 사용하면 각 그룹의 행에 별도로 번호를 매길 수 있습니다 

예를 들어:

idtype
132t1
52t2
92t1
154t3
198t1
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1

이렇게 하면 각 유형의 행에 대해 id 순서로 행 번호를 매긴 열이 생성됩니다(아래 결과는 유형별로 그룹화하여 표시됩니다):

idtyperow_num
92t11
132t12
198t13
52t21
154t31

id 92는 type t1에서 가장 작은 id이므로 row_num이 1입니다.

참고: ROW_NUMBER()는 각 파티션 내에서 행에 번호를 매기는 방법을 결정하기 위해 OVER() 안에 ORDER BY 절이 필요합니다.

PARTITION BY 안에 여러 열을 지정할 수도 있습니다:

ROW_NUMBER() OVER (PARTITION BY type, hue ORDER BY id)
challenge icon

챌린지

쉬움

사용 가능한 테이블 및 열:

  • doors: id, publication_year
  • doors_specs: id, country, color

한 공장에서 문을 제작하고 있습니다. publication_year가 2000보다 작은 문을 대상으로 각 country 및 color 조합별로 문에 번호를 매겨야 합니다. 이 열의 이름을 row_num으로 지정하세요.

각 그룹 내에서 문은 id를 기준으로 오름차순으로 번호를 매겨야 합니다. 사양이 없는 문은 무시해야 합니다. 최종 결과는 id를 기준으로 오름차순으로 정렬하세요. 

직접 해보기

quiz icon실력 점검

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

기초의 모든 레슨

직접 연습해 보세요: SQL 플레이그라운드