유량(Flow)와 저량(Stock)
-- 연도별 새롭게 소장하게 된 작품의 수
-- 연도별 누적 소장 작품 수
SELECT ac_year AS "Acquisition year"
, cnt AS "New acquisitions this year (Flow)"
, SUM(cnt) OVER(order by ac_year) AS "Total collection size (Stock)"
FROM (
SELECT YEAR(acquisition_date) AS ac_year
, COUNT(artwork_id) AS cnt
FROM artworks
WHERE acquisition_date IS NOT NULL
GROUP BY YEAR(acquisition_date)
) AS cal
작성 순서
(1) 소장 일시 컬럼을 이용해 연도별 작품 수 집계
단, 소장 년도 정보가 없는 작품은 제외 (전체 130262 행 중 "acquisition_date IS NULL"인 행은 5463 행)
(2) 윈도우 함수 SUM() 집계 함수를 이용하여 누적 합계 구하기
'데이터 처리 도구 > SQL 연습 기록' 카테고리의 다른 글
| DAY 14 / [solvesql] 연습문제 10개 풀기 (0) | 2025.05.29 |
|---|---|
| DAY 13 / [solvesql] 연습문제 10개 풀기 (0) | 2025.05.28 |
| DAY 11 / [solvesql] Advent of SQL 2024 (세션 유지 시간을 10분으로 재정의하기) (0) | 2025.05.24 |
| DAY 10 / [solvesql] Advent of SQL 2024 2문제 (친구 수 집계하기, 세 명이 서로 친구인 관계 찾기) (0) | 2025.05.23 |
| DAY 9 / [solvesql] Advent of SQL 2024 2문제 (전국 카페 주소 데이터 정제하기, 미세먼지 수치의 계절간 차이) (0) | 2025.05.22 |