누계
Coddy SQL 여정의 심화 과정 섹션에 포함된 레슨. 27개 중 25번째.
누적 합계는 ORDER BY를 사용하는 윈도우에서의 SUM입니다. 이렇게 하면 집계 결과가 행마다 누적되어 커집니다.
SELECT day, amount,
SUM(amount) OVER (ORDER BY day) AS running_total
FROM revenueORDER BY가 없으면 윈도우가 모든 행을 포함하므로 모든 줄에 총합이 표시됩니다. 이를 사용하면 해당 순서대로 윈도우가 한 번에 한 행씩 확장되므로 각 행에는 자기 자신과 그 이전의 모든 행만 포함됩니다.
그룹별로 누적 합계를 초기화하려면 PARTITION BY를 추가하세요. 예를 들어 지역별 수익 누적 합계를 날짜별로 계산할 수 있습니다.
챌린지
쉬움사용 가능한 테이블과 열:
revenue:region,day,amount
region, day, amount, region_running_total을 반환하세요. 이는 해당 지역의 이날까지(이날 포함) 누적된 amount입니다. 누적 합계는 각 지역마다 초기화되어야 합니다.
윈도우에 PARTITION BY를 사용하세요. region, 다음으로 day 순으로 정렬하세요.
직접 해보기
SELECT region, day, amount,
-- 여기에 region_running_total 열을 추가하세요
FROM revenue
ORDER BY region, day
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
심화 과정의 모든 레슨
직접 연습해 보세요: SQL 플레이그라운드