[PostgreSQL] solvesql LV.2 3년간 들어온 소장품 집계하기

2025. 10. 9. 17:50·프로그래밍 언어/02. SQL

https://solvesql.com/problems/summary-of-artworks-in-3-years/

🔍 문제

2014년~2016년도 까지 수집된 작품의 개수를 분류에 맞춰서 집계하기!


🎯정답

SELECT
  classification,
  count(*) filter (where to_char(acquisition_date, 'YYYY') = '2014') as "2014",
  count(*) filter (where to_char(acquisition_date, 'YYYY') = '2015') as "2015",
  count(*) filter (where to_char(acquisition_date, 'YYYY') = '2016') as "2016"
from artworks
group by classification
order by classification;

❓풀이

  • postgresql 에서는 `FILTER` 기능을 통해서 `SELECT`문 안에 원하는 필터링 조건을 생성할 수 있다.
  • 또 다른 풀이 방법을 찾아보다가 이걸 발견했다.
SELECT 
  classification,
  SUM(CASE WHEN TO_CHAR(acquisition_date, 'YYYY') = '2014' THEN 1 ELSE 0 END) AS "2014",
  SUM(CASE WHEN TO_CHAR(acquisition_date, 'YYYY') = '2015' THEN 1 ELSE 0 END) AS "2015",
  SUM(CASE WHEN TO_CHAR(acquisition_date, 'YYYY') = '2016' THEN 1 ELSE 0 END) AS "2016"
FROM artworks
GROUP BY classification
ORDER BY classification;
  • `CASE ~ WHEN` 구문을 활용해서 각각의 연도에 해당하면 1을 더해주면 개수를 집계할 수 있다.

'프로그래밍 언어 > 02. SQL' 카테고리의 다른 글

[PostgreSQL] solvesql LV.3 배송 예정일 예측 성공과 실패  (0) 2025.10.11
[PostgreSQL] solvesql LV.3 할부는 몇 개월로 해드릴까요  (0) 2025.10.10
[PostgreSQL] solvesql LV.2 언더스코어(_)가 포함되지 않은 데이터 찾기  (0) 2025.10.07
[PostgreSQL] solvesql LV.2 다음날도 서울숲의 미세먼지 농도는 나쁨  (0) 2025.10.07
[PostgreSQL] solvesql LV.6 카테고리 별 매출 비율  (0) 2025.10.07
'프로그래밍 언어/02. SQL' 카테고리의 다른 글
  • [PostgreSQL] solvesql LV.3 배송 예정일 예측 성공과 실패
  • [PostgreSQL] solvesql LV.3 할부는 몇 개월로 해드릴까요
  • [PostgreSQL] solvesql LV.2 언더스코어(_)가 포함되지 않은 데이터 찾기
  • [PostgreSQL] solvesql LV.2 다음날도 서울숲의 미세먼지 농도는 나쁨
dalleeoppaa
dalleeoppaa
DA, GIS 공부 기록
  • dalleeoppaa
    달래오빠
    dalleeoppaa
  • 전체
    오늘
    어제
    • 분류 전체보기 (112) N
      • GIS (22)
        • 01. GIS TIL (13)
        • 02. OpenSource Geo Data (6)
        • 03.사이드 프로젝트 (1)
      • 프로젝트 (6)
        • 01. 상권분석 지도 (3)
        • 02. olist 고객 RFM 분석 (3)
      • PointCloud (1)
      • 프로그래밍 언어 (57) N
        • 01. Python (1)
        • 02. SQL (49)
        • 03. C++ (3) N
        • 04. TIL (4)
      • 데이터분석 (23)
        • 01. Google Cloud Platform (1)
        • 02. GA4 & GTM (1)
        • 03. LookerStudio (4)
        • 04. Apach Spark (7)
        • 05. 데이터 시각화 (10)
      • 인턴 (2)
        • 01. NPL (2)
        • 02. TIL (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데이터분석가
    프로그래머스코테
    SQL
    프로그래머스SQL
    GIS
    프로그래머스
    코딩테스트
    PostgreSQL
    MySQL
    데이터분석
    태블로부트캠프
    sql코테
    프로그래머스lv3
    c++독학
    데이터분석취준
    solvesql
    태블로연습
    postgresql연습
    태블로신병훈련소
    데이터분석가코테
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
dalleeoppaa
[PostgreSQL] solvesql LV.2 3년간 들어온 소장품 집계하기
상단으로

티스토리툴바