データベース:
1179
Departmentテーブル部門:
+ --------- + --------------- +
|カラム名|タイプ|
+ --------------- + + ---------
|上記のid上記| int型|
|収益| int型|
|月| VARCHAR |
+ --------------- + -------- - +
(ID、月)主キーテーブルです。
このテーブルには、各部門月収についての情報を持っています。
(月)は、以下の値を取ることができます[「月」月、「2月」、「月」 、「4月」、「月」、「6月」、「7月」、「8月」、「9月」、「10月」、 " 11月"" 12月「]。
新しいテーブルには、部門ID列と月収(収入)列の対応する番号を持っているのでという、テーブルを再フォーマットするには、SQLクエリを記述します。
次の例に示すようにフォーマットされた結果、クエリ:
部門表:
+ ------ + --------- + ------- +
| ID | 収入| 月|
+ ------ + --------- + ------- +
| 1 | 8000 | ヤン|
| 2 | 9000 | ヤン|
| 3 | 10000 | 2月|
| 1 | 7000 | 2月|
| 1 | 6000 | マル|
+ ------ + --------- + ------- +
クエリから結果表:
+ ------ + -------- + ------------- + ------------- + ------------- + ----- + -----
|上記ID | Jan_Revenue | Feb_Revenue | Mar_Revenue | ... | Dec_Revenue |
+ ------ + - ------------ + ------------- + ------------- + ----- + --- + ----------
| 1 | 8000 | 7000 | 6000 | ... |ヌル|
| 2 | 9000 |ヌル|ヌル| ... |ヌル|
| 3 |ヌル| 10000 |ヌル| ... |ヌル|
+ ------ + -------- + ------------- + ------------- ------------- + ----- + ----- +
結果表13(+ 12ヶ月の売上列部門ID列)を有することに留意されたいです。
リンク:https://leetcode-cn.com/problems/reformat-department-table
移送ラインの列を確認し、ネチズンは答えを投稿しました
選択し `id`、 最大(もし(` month` = ' 月'、収入、ヌル))として " Jan_Revenue " 、 最大(もし( `month` = ' 2月'、収入、ヌル))として " Feb_Revenue " 、 最大(もし( `month` = ' 月'、収入、ヌル))として " Mar_Revenue " 、 (最大の場合(` month` = "月'収入、ヌル))として " Apr_Revenue " 、 最大(もし( `month` = ' 月'収入、ヌル))として " May_Revenue " 、 最大(もし(` month` = ' ジュン"、収入、ヌル))として " Jun_Revenue " 、 最大(もし( `month` = ' 7月'、収入、ヌル))として "Jul_Revenue " MAX(もし(` month` = ' 8月'、収入、ヌル))として" Aug_Revenue " 最大(もし( `month` = ' 9月'、収入、ヌル))として" Sep_Revenue 」、 MAX(もし( `month` = ' 10月'、収入、ヌル))として" Oct_Revenue " 、 最大(もし(` month` = " 11月'収入、ヌル))として " Nov_Revenue " 、 最大(もし( `month` = ' 12月"、収入、ヌル))として " Dec_Revenue " から 部門 id` `によるグループ。
Ningquewulanは、数日間停止する記事を見てください。