Day 12. 3๋ ๊ฐ ๋ค์ด์จ ์์ฅํ ์ง๊ณํ๊ธฐ
https://solvesql.com/problems/summary-of-artworks-in-3-years/
WITH T1 AS (
SELECT YEAR(acquisition_date) AS YEAR
, classification
FROM artworks
WHERE acquisition_date BETWEEN '2014-01-01' AND '2016-12-31'
), T2 AS (
SELECT classification
FROM artworks
GROUP BY classification
)
SELECT T2.classification
, COUNT(CASE WHEN YEAR = 2014 THEN T1.classification END) AS '2014'
, COUNT(CASE WHEN YEAR = 2015 THEN T1.classification END) AS '2015'
, COUNT(CASE WHEN YEAR = 2016 THEN T1.classification END) AS '2016'
FROM T2
LEFT JOIN T1 ON T2.classification = T1.classification
GROUP BY T2.classification
ORDER BY T2.classification ASC
โCOUNT(), CASE WHEN ์ฌ์ฉํด์ ๋
๋์ ํด๋นํ๋ ๊ฒฝ์ฐ์ ๊ฐ์ ์ธ๊ธฐ
โLEFT JOIN ์ผ๋ก ์์ฑํ ํ
์ด๋ธ๋ผ๋ฆฌ ๊ฒฐํฉ
โGROUP BY์ classification ๋ฃ๊ธฐ
+) WITH ์ : T1
โWHERE ์ ์ BETWEEN ์ฌ์ฉํด์ ๋ ์ง ํํฐ๋ง
+) WITH ์ : T2
โclassification์ผ๋ก GROUP BY