HOME
home
About
home

GROUP BY - 챌린지

이 챌린지에서는 지금까지 배운 GROUP BY 문에 대한 모든 것을 적용하여 그룹화와 집계가 필요한 실제 시나리오를 해결해 보겠습니다. GROUP BY 챌린지에 도전하며 문제 해결 능력을 키워보세요!
챌린지 시나리오
다양한 제품을 온라인으로 판매하는 전자상거래 회사에서 일한다고 상상해보세요. 특정 기간 동안 다양한 제품 카테고리의 판매 성과에 대한 통찰력을 제공하는 것이 과제입니다. 여기서 GROUP BY 기술이 활용됩니다.
챌린지 #1: 카테고리별 매출 분석
첫 번째 챌린지는 각 제품 카테고리별 총 수익을 나타내는 보고서를 생성하는 것입니다. 또한, 각 카테고리별 평균 판매 수량도 계산해야 합니다.
SELECT category, SUM(revenue) AS total_revenue, AVG(quantity_sold) AS average_quantity_sold FROM sales GROUP BY category;
챌린지 #2: 월별 매출 추세 분석
다음 챌린지는 특정 연도의 월별 매출 추세를 분석하는 것입니다. 각 월의 총 수익을 제시하여 계절별 판매 패턴을 식별하도록 합니다.
SELECT EXTRACT(MONTH FROM order_date) AS month, SUM(revenue) AS total_revenue FROM sales WHERE EXTRACT(YEAR FROM order_date) = 2023 GROUP BY month ORDER BY month;
챌린지 #3: 최고 판매 제품 식별
이 챌린지에서는 판매 수량을 기준으로 최고 판매 제품을 식별하는 것입니다. 상위 5개 제품과 해당 카테고리 목록을 제공해야 합니다.
SELECT product_id, product_name, category, SUM(quantity_sold) AS total_quantity_sold FROM sales GROUP BY product_id, product_name, category ORDER BY total_quantity_sold DESC LIMIT 5;
챌린지 #4: 월별 비교
마지막 챌린지는 올해 1월과 7월의 총 수익을 비교하는 것입니다. 결과를 나란히 표시해야 합니다.
SELECT EXTRACT(MONTH FROM order_date) AS month, SUM(CASE WHEN EXTRACT(MONTH FROM order_date) = 1 THEN revenue ELSE 0 END) AS jan_revenue, SUM(CASE WHEN EXTRACT(MONTH FROM order_date) = 7 THEN revenue ELSE 0 END) AS jul_revenue FROM sales WHERE EXTRACT(YEAR FROM order_date) = EXTRACT(YEAR FROM CURRENT_DATE) AND EXTRACT(MONTH FROM order_date) IN (1, 7) GROUP BY month;
축하합니다! GROUP BY 기술을 시험하는 일련의 챌린지를 해결했습니다! 이 시나리오들은 실제 데이터 분석 환경에서 마주칠 수 있는 과제 유형을 시뮬레이션합니다. 그