https://solvesql.com/problems/flow-and-stock/
https://solvesql.com/problems/flow-and-stock/
solvesql.com
-- 작품의 취득 연도별로 취득된 작품 수를 계산하고, 해당 연도까지의 총 작품 수를 계산하는 쿼리
SELECT
-- 'acquisition_date'의 첫 4자리를 취득 연도로 추출하여 'Acquisition year'로 표시
SUBSTRING(acquisition_date, 1, 4) AS 'Acquisition year',
-- 각 연도별로 취득된 작품 수 계산
COUNT(*) AS 'New acquisitions this year (Flow)',
-- 'Total collection size (Stock)'는 해당 연도까지 누적된 작품 수 계산
-- SUM(count(*)) OVER를 사용하여 전체 연도에서의 누적 작품 수를 계산
SUM(COUNT(*)) OVER (ORDER BY SUBSTRING(acquisition_date, 1, 4)) AS 'Total collection size (Stock)'
FROM artworks -- 'artworks' 테이블에서 데이터 조회
GROUP BY SUBSTRING(acquisition_date, 1, 4) -- 취득 연도를 기준으로 그룹화
HAVING SUBSTRING(acquisition_date, 1, 4) IS NOT NULL -- 취득 연도가 NULL이 아닌 경우만 필터링
'SQL' 카테고리의 다른 글
[solvesql - day 25] 메리 크리스마스 2024 (0) | 2025.01.11 |
---|---|
[solvesql - day 24] 세 명이 서로 친구인 관계 찾기 (0) | 2025.01.11 |
[solvesql - day 22] 친구 수 집계하기 (0) | 2025.01.11 |
[solvesql - day 21] 세션 유지 시간을 10분으로 재정의하기 (0) | 2025.01.11 |
[solvesql - day 20] 미세먼지 수치의 계절간 차이 (0) | 2025.01.11 |