고급 집계 기술
이 마지막 단계에서는 지금까지 배운 모든 것을 결합하여 더 고급 집계 기술을 살펴보겠습니다. 이러한 도구의 강력함을 함께 보여주는 포괄적인 판매 보고서를 만들 것입니다.
판매 실적 대시보드
포괄적인 판매 분석을 만들어 보겠습니다.
SELECT
category,
COUNT(DISTINCT product_name) as unique_products,
COUNT(*) as total_transactions,
SUM(quantity) as total_quantity,
ROUND(AVG(quantity), 1) as avg_quantity_per_sale,
ROUND(MIN(unit_price), 2) as min_price,
ROUND(MAX(unit_price), 2) as max_price,
ROUND(SUM(quantity * unit_price), 2) as total_revenue
FROM sales
GROUP BY category
ORDER BY total_revenue DESC;
설명:
- 완전한 카테고리 실적 개요를 생성합니다.
- DISTINCT 를 사용하여 각 카테고리 내의 고유 제품 수를 계산합니다.
- 포괄적인 분석을 위해 여러 집계 함수를 결합합니다.
- MIN 및 MAX 를 사용하여 가격 범위를 표시합니다.
- 평균 수량 및 총 수익을 계산합니다.
- 결과는 최고 실적을 강조하기 위해 수익별로 정렬됩니다.
지역별 실적 분석
지역별 판매 실적을 분석해 보겠습니다.
SELECT
region,
COUNT(DISTINCT category) as categories_sold,
COUNT(DISTINCT product_name) as unique_products,
SUM(quantity) as total_quantity,
ROUND(SUM(quantity * unit_price), 2) as total_revenue,
ROUND(SUM(quantity * unit_price) / SUM(quantity), 2) as avg_price_per_unit
FROM sales
GROUP BY region
HAVING total_revenue > 1000
ORDER BY total_revenue DESC;
설명:
- 판매 데이터를 지역별로 그룹화합니다.
- DISTINCT 수를 사용하여 제품 다양성을 표시합니다.
- 총 수익 및 수량 지표를 계산합니다.
- avg_price_per_unit 은 수익을 수량으로 나누어 계산합니다.
- HAVING 은 수익이 낮은 지역을 필터링합니다.
- 가장 강력하고 가장 약한 실적을 보이는 지역을 식별하는 데 도움이 됩니다.
일별 추세 분석
일별 판매 추세 보고서를 만들어 보겠습니다.
SELECT
sale_date,
COUNT(DISTINCT category) as categories_sold,
COUNT(DISTINCT product_name) as unique_products,
COUNT(*) as transactions,
SUM(quantity) as total_quantity,
ROUND(SUM(quantity * unit_price), 2) as daily_revenue,
ROUND(AVG(quantity * unit_price), 2) as avg_transaction_value
FROM sales
GROUP BY sale_date
ORDER BY sale_date;
설명:
- 일별 판매 실적 지표를 추적합니다.
- 하루에 제품 및 카테고리 다양성을 표시합니다.
- 일별 거래 및 수량을 계산합니다.
- 일별 수익 및 평균 거래 가치를 계산합니다.
- 연대순 정렬은 추세를 식별하는 데 도움이 됩니다.
- 패턴 및 계절적 효과를 파악하는 데 유용합니다.
- 재고 계획 및 인력 배치 결정에 도움이 될 수 있습니다.