Pivot Rows Into Columns With CASE
Turn row values into columns with conditional aggregation, producing a wide report without a dedicated pivot operator.
Code
SELECT
product_id,
SUM(CASE WHEN quarter = 'Q1' THEN revenue ELSE 0 END) AS q1,
SUM(CASE WHEN quarter = 'Q2' THEN revenue ELSE 0 END) AS q2,
SUM(CASE WHEN quarter = 'Q3' THEN revenue ELSE 0 END) AS q3,
SUM(CASE WHEN quarter = 'Q4' THEN revenue ELSE 0 END) AS q4
FROM quarterly_sales
WHERE fiscal_year = 2025
GROUP BY product_id
ORDER BY product_id;Report a problem with this exampleOpens a pre-filled issue on GitHub.