在 SQL 中,我们可以使用 PIVOT
(如果使用的是 SQL Server)或 CASE WHEN
语句(适用于 MySQL)来重新格式化表格,使每个月都有一个部门 id
列和一个收入列。
SQL 解决方案:
# Write your MySQL query statement below
SELECT
id,
MAX(CASE WHEN month = 'Jan' THEN revenue END) AS Jan_revenue,
MAX(CASE WHEN month = 'Feb' THEN revenue END) AS Feb_Revenue,
MAX(CASE WHEN month = 'Mar' THEN revenue END) AS Mar_Revenue,
MAX(CASE WHEN month = 'Apr' THEN revenue END) AS Apr_Revenue,
MAX(CASE WHEN month = 'May' THEN revenue END) AS May_Revenue,
MAX(CASE WHEN month = 'Jun' THEN revenue END) AS Jun_Revenue,
MAX(CASE WHEN month = 'Jul' THEN revenue END) AS Jul_Revenue,
MAX(CASE WHEN month = 'Aug' THEN revenue END) AS Aug_Revenue,
MAX(CASE WHEN month = 'Sep' THEN revenue END) AS Sep_Revenue,
MAX(CASE WHEN month = 'Oct' THEN revenue END) AS Oct_Revenue,
MAX(CASE WHEN month = 'Nov' THEN revenue END) AS Nov_Revenue,
MAX(CASE WHEN month = 'Dec' THEN revenue END) AS Dec_Revenue
FROM Department