ROW_NUMBER function
Coddy SQL 여정의 기초 섹션에 포함된 레슨. 72개 중 57번째.
창 함수(Window function)는 **현재 행과 관련된** 테이블 행 집합에 대해 계산을 수행합니다. 일반 집계 함수와 달리 창 함수는 결과를 단일 행으로 축소하지 않습니다.
특히 다음과 같은 작업이 필요할 때 유용합니다:
- 누적 합계 계산
- 그룹 내 항목 순위 매기기
- 현재 행을 이전/다음 행과 비교
- 시간 경과에 따른 추세 분석
예를 들어 윈도우 함수(window function) 유스케이스에 대한 몇 가지 실제 사례는 다음과 같습니다.
- 매출 분석
- 각 연도(1995, 1997, 1999)까지의 누적 매출 계산
- 각 분기별 최고 판매 제품 찾기
- 스포츠 통계
- 연도별 올림픽 메달 수 추적
- 각 경기 기간(2000, 2004, 2008)의 선두 선수 파악
ROW_NUMBER()는 가장 간단한 window 함수 중 하나입니다. 결과 집합의 각 row에 고유한 순차 번호를 할당합니다. 사용법은 다음과 같습니다:
SELECT column1, column2,
ROW_NUMBER() OVER ([PARTITION BY column] [ORDER BY column]) as row_num
FROM table_name;ROW_NUMBER()와 함께 OVER 절을 사용하는 것은 필수적입니다: ROW_NUMBER() OVER ()
예를 들어:
SELECT product_name, sale_date,
ROW_NUMBER() OVER () as row_num
FROM sales;이렇게 하면 1부터 전체 행 수까지 카운트하는 row_num 열이 추가됩니다.
참고: OVER 절에는 번호 매기기 방식을 제어하기 위한 정렬 및 파티션 분할 지시사항이 포함될 수 있습니다.
챌린지
쉬움사용 가능한 테이블과 열:
<strong>liquids</strong>:<strong>id</strong>,<strong>density</strong>
밀도가 5.677 초과인 모든 액체를 조회하세요.
결과에 번호를 매기고(ROW_NUMBER() 함수 사용) 이 열의 이름을 row_num으로 지정하세요.
직접 해보기
-- 윈도우 함수를 사용하여 필터링된 결과의 각 행에 번호를 매깁니다
SELECT id, density, ____ as row_num
FROM liquids
WHERE density > ____이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function8Statistics
Built-In Aggregate Part 1Built-In Aggregate Part 2Grouping Part 1Grouping Part 2Subqueries Part 1Subqueries Part 2Recap - Total Gain ShopRecap - Scooter ShopRecap - Coffee Shop11Window Functions part 1
ROW_NUMBER functionORDER BY criterionPARTITION BY criterionPARTITION & ORDERLEAD & LAG FunctionsRecap - LEAD & LAGRecap - PicturesRecap - Boxes3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns직접 연습해 보세요: SQL 플레이그라운드