高度な集約技術
この最後のステップでは、これまでに学んだことをすべて組み合わせた、より高度な集約技術を学びます。これらのツールの力を示す包括的な販売レポートを作成します。
販売実績ダッシュボード
包括的な販売分析を作成しましょう:
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;
解説:
- 日次の販売実績指標を追跡します
- 毎日の商品とカテゴリの多様性を示します
- 日次の取引と数量をカウントします
- 日次の収益と平均取引価値を計算します
- 日付順のソートはトレンドを特定するのに役立ちます
- パターンや季節的な影響を見つけるのに役立ちます
- 在庫計画や人員配置の決定に役立つ可能性があります