SQL
Conditional Aggregation for Dynamic Reporting
Master conditional aggregation using CASE statements within aggregate functions to create dynamic pivot-like reports and summaries from your SQL data.
SELECT
product_category,
SUM(CASE WHEN status = 'completed' THEN amount ELSE 0 END) AS completed_sales,
SUM(CASE WHEN status = 'pending' THEN amount ELSE 0 END) AS pending_sales
FROM orders
GROUP BY product_category;
How it works: This query aggregates sales data by product category, conditionally summing amounts based on the order status. It effectively creates a pivot-like report showing 'completed_sales' and 'pending_sales' as separate columns for each product category, providing dynamic summary data.