{ "data": { "question": { "questionId": "1301", "questionFrontendId": "1179", "categoryTitle": "Database", "boundTopicId": 33147, "title": "Reformat Department Table", "titleSlug": "reformat-department-table", "content": "

Table: Department

\n\n
\n+-------------+---------+\n| Column Name | Type    |\n+-------------+---------+\n| id          | int     |\n| revenue     | int     |\n| month       | varchar |\n+-------------+---------+\n(id, month) is the primary key of this table.\nThe table has information about the revenue of each department per month.\nThe month has values in ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"].\n
\n\n

 

\n\n

Write an SQL query to reformat the table such that there is a department id column and a revenue column for each month.

\n\n

Return the result table in any order.

\n\n

The query result format is in the following example.

\n\n

 

\n

Example 1:

\n\n
\nInput: \nDepartment table:\n+------+---------+-------+\n| id   | revenue | month |\n+------+---------+-------+\n| 1    | 8000    | Jan   |\n| 2    | 9000    | Jan   |\n| 3    | 10000   | Feb   |\n| 1    | 7000    | Feb   |\n| 1    | 6000    | Mar   |\n+------+---------+-------+\nOutput: \n+------+-------------+-------------+-------------+-----+-------------+\n| id   | Jan_Revenue | Feb_Revenue | Mar_Revenue | ... | Dec_Revenue |\n+------+-------------+-------------+-------------+-----+-------------+\n| 1    | 8000        | 7000        | 6000        | ... | null        |\n| 2    | 9000        | null        | null        | ... | null        |\n| 3    | null        | 10000       | null        | ... | null        |\n+------+-------------+-------------+-------------+-----+-------------+\nExplanation: The revenue from Apr to Dec is null.\nNote that the result table has 13 columns (1 for the department id + 12 for the months).\n
\n", "translatedTitle": "重新格式化部门表", "translatedContent": "

部门表 Department

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

 

\n\n

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

\n\n

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

\n\n
\nDepartment 表:\n+------+---------+-------+\n| id   | revenue | month |\n+------+---------+-------+\n| 1    | 8000    | Jan   |\n| 2    | 9000    | Jan   |\n| 3    | 10000   | Feb   |\n| 1    | 7000    | Feb   |\n| 1    | 6000    | Mar   |\n+------+---------+-------+\n\n查询得到的结果表:\n+------+-------------+-------------+-------------+-----+-------------+\n| id   | Jan_Revenue | Feb_Revenue | Mar_Revenue | ... | Dec_Revenue |\n+------+-------------+-------------+-------------+-----+-------------+\n| 1    | 8000        | 7000        | 6000        | ... | null        |\n| 2    | 9000        | null        | null        | ... | null        |\n| 3    | null        | 10000       | null        | ... | null        |\n+------+-------------+-------------+-------------+-----+-------------+\n\n注意,结果表有 13 列 (1个部门 id 列 + 12个月份的收入列)。\n
\n", "isPaidOnly": false, "difficulty": "Easy", "likes": 161, "dislikes": 0, "isLiked": null, "similarQuestions": "[]", "contributors": [], "langToValidPlayground": "{\"cpp\": false, \"java\": false, \"python\": false, \"python3\": false, \"mysql\": false, \"mssql\": false, \"oraclesql\": false, \"c\": false, \"csharp\": false, \"javascript\": false, \"ruby\": false, \"bash\": false, \"swift\": false, \"golang\": false, \"scala\": false, \"html\": false, \"pythonml\": false, \"kotlin\": false, \"rust\": false, \"php\": false, \"typescript\": false, \"racket\": false, \"erlang\": false, \"elixir\": false}", "topicTags": [ { "name": "Database", "slug": "database", "translatedName": "数据库", "__typename": "TopicTagNode" } ], "companyTagStats": null, "codeSnippets": [ { "lang": "MySQL", "langSlug": "mysql", "code": "# Write your MySQL query statement below", "__typename": "CodeSnippetNode" }, { "lang": "MS SQL Server", "langSlug": "mssql", "code": "/* Write your T-SQL query statement below */", "__typename": "CodeSnippetNode" }, { "lang": "Oracle", "langSlug": "oraclesql", "code": "/* Write your PL/SQL query statement below */", "__typename": "CodeSnippetNode" } ], "stats": "{\"totalAccepted\": \"36.6K\", \"totalSubmission\": \"57.2K\", \"totalAcceptedRaw\": 36609, \"totalSubmissionRaw\": 57245, \"acRate\": \"64.0%\"}", "hints": [], "solution": null, "status": null, "sampleTestCase": "{\"headers\":{\"Department\":[\"id\",\"revenue\",\"month\"]},\"rows\":{\"Department\":[[1,8000,\"Jan\"],[2,9000,\"Jan\"],[3,10000,\"Feb\"],[1,7000,\"Feb\"],[1,6000,\"Mar\"]]}}", "metaData": "{\n \"mysql\": [\n \"Create table If Not Exists Department (id int, revenue int, month varchar(5))\"\n ],\n \"mssql\": [\n \"Create table Department (id int, revenue int, month varchar(5))\"\n ],\n \"oraclesql\": [\n \"Create table Department (id int, revenue int, month varchar(5))\"\n ],\n \"database\": true\n}", "judgerAvailable": true, "judgeType": "large", "mysqlSchemas": [ "Create table If Not Exists Department (id int, revenue int, month varchar(5))", "Truncate table Department", "insert into Department (id, revenue, month) values ('1', '8000', 'Jan')", "insert into Department (id, revenue, month) values ('2', '9000', 'Jan')", "insert into Department (id, revenue, month) values ('3', '10000', 'Feb')", "insert into Department (id, revenue, month) values ('1', '7000', 'Feb')", "insert into Department (id, revenue, month) values ('1', '6000', 'Mar')" ], "enableRunCode": true, "envInfo": "{\"mysql\":[\"MySQL\",\"

\\u7248\\u672c\\uff1aMySQL 8.0<\\/code><\\/p>\"],\"mssql\":[\"MS SQL Server\",\"

mssql server 2019.<\\/p>\"],\"oraclesql\":[\"Oracle\",\"

Oracle Sql 11.2.<\\/p>\"]}", "book": null, "isSubscribed": false, "isDailyQuestion": false, "dailyRecordStatus": null, "editorType": "CKEDITOR", "ugcQuestionId": null, "style": "LEETCODE", "exampleTestcases": "{\"headers\":{\"Department\":[\"id\",\"revenue\",\"month\"]},\"rows\":{\"Department\":[[1,8000,\"Jan\"],[2,9000,\"Jan\"],[3,10000,\"Feb\"],[1,7000,\"Feb\"],[1,6000,\"Mar\"]]}}", "__typename": "QuestionNode" } } }