행을 열로 피벗하기
Coddy SQL 여정의 심화 과정 섹션에 포함된 레슨. 27개 중 14번째.
GROUP BY를 조건부 집계와 결합하여 행을 열로 변환하세요. 이는 스프레드시트 피벗의 SQL 버전입니다.
sales에 (month, product, units)와 같은 행이 있다고 가정합니다. 제품별로 하나의 열과 월별로 하나의 행을 보려면:
SELECT
month,
SUM(CASE WHEN product = 'A' THEN units ELSE 0 END) AS product_a,
SUM(CASE WHEN product = 'B' THEN units ELSE 0 END) AS product_b
FROM sales
GROUP BY monthGROUP BY 버킷에서 각 SUM(CASE …)이(가) 보는 것은 한 달에 해당하는 행이며, CASE는 한 product에 해당하는 부분을 선택합니다.
챌린지
쉬움사용 가능한 테이블 및 열:
sales:month,product,units
데이터를 피벗하여 각 행이 하나의 month가 되고 다음 열을 포함하도록 하세요:
monthapples: 해당 월의 제품'apples'에 대한 총unitsbananas:'bananas'에 대해서도 동일cherries:'cherries'에 대해서도 동일total: 해당 월의 모든 제품에 대한 총units
total이 최소 20인 월만 반환하세요. month를 기준으로 정렬하세요.
직접 해보기
SELECT month,
-- 제품당 SUM(CASE ...) 하나, 그리고 총계
FROM sales
GROUP BY month
-- 총계가 >= 20인 월로 필터링
ORDER BY month
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
심화 과정의 모든 레슨
직접 연습해 보세요: SQL 플레이그라운드