Menu
Coddy logo textTech

누계

Coddy SQL 여정의 심화 과정 섹션에 포함된 레슨 — 27개 중 25번째.

누적 합계(running total)는 ORDER BY가 포함된 윈도우에서의 SUM입니다. 이는 집계 함수를 행별로 늘어나는 형태로 변환합니다.

SELECT day, amount,
       SUM(amount) OVER (ORDER BY day) AS running_total
FROM revenue

ORDER BY가 없으면 윈도우는 모든 행을 포함하므로 모든 행에서 전체 합계를 얻게 됩니다. 사용하면 윈도우가 해당 순서대로 한 번에 한 행씩 확장되므로, 각 행은 자기 자신과 그 이전의 모든 행만 보게 됩니다.

그룹별로 누계를 재설정하려면 PARTITION BY를 추가하세요. 예: 지역별 일일 매출 누계.

challenge icon

챌린지

쉬움

사용 가능한 테이블과 컬럼:

  • <strong>revenue</strong>: <strong>region</strong>, <strong>day</strong>, <strong>amount</strong>

region, day, amount, 그리고 region_running_total을 반환하세요. region_running_total은 해당 날짜까지의 해당 지역(region)에 대한 누적 amount입니다. 누계(running total)는 각 지역별로 새로 시작되어야 합니다.

윈도우 함수에서 PARTITION BY를 사용하세요. region으로 정렬한 다음 day로 정렬하세요.

직접 해보기

SELECT region, day, amount,
       -- SUM(amount) OVER (PARTITION BY region ORDER BY day)
FROM revenue
ORDER BY region, day
quiz icon실력 점검

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

심화 과정의 모든 레슨