# 1179.(Easy)重新格式化部门表

部门表 Department：

```
+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| id            | int     |
| revenue       | int     |
| month         | varchar |
+---------------+---------+
(id, month) 是表的联合主键。
这个表格有关于每个部门每月收入的信息。
月份（month）可以取下列值 ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]。
```

编写一个 SQL 查询来重新格式化表，使得新的表中有一个部门 id 列和一些对应 每个月 的收入（revenue）列。

查询结果格式如下面的示例所示：

```
Department 表：
+------+---------+-------+
| id   | revenue | month |
+------+---------+-------+
| 1    | 8000    | Jan   |
| 2    | 9000    | Jan   |
| 3    | 10000   | Feb   |
| 1    | 7000    | Feb   |
| 1    | 6000    | Mar   |
+------+---------+-------+

查询得到的结果表：
+------+-------------+-------------+-------------+-----+-------------+
| id   | Jan_Revenue | Feb_Revenue | Mar_Revenue | ... | Dec_Revenue |
+------+-------------+-------------+-------------+-----+-------------+
| 1    | 8000        | 7000        | 6000        | ... | null        |
| 2    | 9000        | null        | null        | ... | null        |
| 3    | null        | 10000       | null        | ... | null        |
+------+-------------+-------------+-------------+-----+-------------+

注意，结果表有 13 列 (1个部门 id 列 + 12个月份的收入列)。
```

来源：力扣（LeetCode）

链接：<https://leetcode-cn.com/problems/reformat-department-table>

著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。

## Solution

```sql
select id,
    sum(if(month="Jan",revenue,null)) Jan_Revenue,
    sum(if(month="Feb",revenue,null)) Feb_Revenue,
    sum(if(month="Mar",revenue,null)) Mar_Revenue,
    sum(if(month="Apr",revenue,null)) Apr_Revenue,
    sum(if(month="May",revenue,null)) May_Revenue,
    sum(if(month="Jun",revenue,null)) Jun_Revenue,
    sum(if(month="Jul",revenue,null)) Jul_Revenue,
    sum(if(month="Aug",revenue,null)) Aug_Revenue,
    sum(if(month="Sep",revenue,null)) Sep_Revenue,
    sum(if(month="Oct",revenue,null)) Oct_Revenue,
    sum(if(month="Nov",revenue,null)) Nov_Revenue,
    sum(if(month="Dec",revenue,null)) Dec_Revenue
from Department
group by 1
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://zqt0.gitbook.io/leetcode/sql/1179.reformat-department-table.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
