# 링크
- solvesql Advent of SQL 2024: https://solvesql.com/collections/advent-of-sql-2024/
- 12일차 - 3년간 들어온 소장품 집계하기: https://solvesql.com/problems/summary-of-artworks-in-3-years/
# 풀이
SELECT
classification,
COUNT(*) FILTER (WHERE strftime('%Y', acquisition_date) = '2014') AS "2014",
COUNT(*) FILTER (WHERE strftime('%Y', acquisition_date) = '2015') AS "2015",
COUNT(*) FILTER (WHERE strftime('%Y', acquisition_date) = '2016') AS "2016"
FROM artworks
GROUP BY classification
ORDER BY classification
- SELECT
- classification: classification 컬럼을 선택한다.
- COUNT(*) FILTER (WHERE strftime('%Y', acquisition_date) = '2014') AS "2014": acquisition_date의 값이 2014인 데이터의 개수를 계산하고, 2014로 저장한다.
- COUNT(*) FILTER (WHERE strftime('%Y', acquisition_date) = '2015') AS "2015": acquisition_date의 값이 2015인 데이터의 개수를 계산하고, 2015로 저장한다.
- COUNT(*) FILTER (WHERE strftime('%Y', acquisition_date) = '2016') AS "2016": acquisition_date의 값이 2016인 데이터의 개수를 계산하고, 2016으로 저장한다.
- FROM artworks: artworks 테이블에서 데이터를 가져온다.
- GROUP BY classification: classification을 기준으로 그룹화한다.
- ORDER BY classification: classification을 기준으로 오름차순 정렬한다.
728x90
'SQL > solvesql Advent of SQL 2024' 카테고리의 다른 글
[SQL] solvesql Advent of SQL 2024 14일차 (2) | 2024.12.14 |
---|---|
[SQL] solvesql Advent of SQL 2024 13일차 (4) | 2024.12.13 |
[SQL] solvesql Advent of SQL 2024 11일차 (0) | 2024.12.11 |
[SQL] solvesql Advent of SQL 2024 10일차 (0) | 2024.12.10 |
[SQL] solvesql Advent of SQL 2024 9일차 (2) | 2024.12.09 |