SQL
Summarize Data by Grouping and Counting Occurrences
Learn to aggregate and count records based on common values using SQL's GROUP BY clause, useful for analytics like counting orders per customer.
SELECT customer_id, COUNT(order_id) AS total_orders, SUM(amount) AS total_spent
FROM orders
GROUP BY customer_id
HAVING COUNT(order_id) > 5
ORDER BY total_spent DESC;
How it works: This query aggregates data from the 'orders' table. The 'GROUP BY customer_id' clause groups all orders belonging to the same customer. 'COUNT(order_id)' then counts the total orders for each customer, and 'SUM(amount)' calculates the total money spent. The 'HAVING' clause filters these grouped results, showing only customers with more than 5 orders, providing powerful insights into customer behavior.