codeflow-ai / rag /sample_templates /01_customer_aggregation.sql
unknown
Initial commit: CodeFlow AI - NL to SQL Generator
7814c1f
raw
history blame contribute delete
752 Bytes
-- Template: Customer Order Aggregation
-- Pattern: Aggregate metrics by customer dimension
-- Use Case: Calculate total order value, count, average per customer
SELECT
c.customer_id,
c.name,
c.email,
COUNT(o.order_id) as total_orders,
SUM(o.total_amount) as total_spent,
AVG(o.total_amount) as avg_order_value,
MIN(o.order_date) as first_order_date,
MAX(o.order_date) as last_order_date
FROM customers c
LEFT JOIN orders o ON c.customer_id = o.customer_id
GROUP BY c.customer_id, c.name, c.email
ORDER BY total_spent DESC;
-- Key Concepts:
-- - LEFT JOIN to include customers with no orders
-- - Multiple aggregations (COUNT, SUM, AVG, MIN, MAX)
-- - GROUP BY all non-aggregated columns
-- - ORDER BY to rank results