Leetcode No.1179 [Reformat Department Table]
문제
Reformat Department Table - LeetCode
설명
위와 같이 Department table 의 data를 id column 으로 그룹화 시키고, Jan_Revenue ~ Dec_Revenue Column 을 만들어야 한다. 각 id 별로 Result table 에서 본인 id 에 해당하는 그룹에서 month 와 일치하는 column 에 revenue 값을 더해야 한다. 따라서 SUM(CASE WHEN month = '<Data>' THEN revenue END) AS <Column name> 으로 포함된 id 그룹의 해당 month 에 대한 Column 에 revenue 의 값을 더하도록 구현하였다.
SUM() 집계함수는 NULL 값에 대해서 무시를 한다. 0으로 취급하는 셈 이기 때문에 NULL 값들은 모두 무시됨으로써 0으로 취급받는 것과 동일하다.
Code
더보기
SELECT id
,SUM(CASE WHEN month = 'Jan' THEN revenue END) AS Jan_Revenue
,SUM(CASE WHEN month = 'Feb' THEN revenue END) AS Feb_Revenue
,SUM(CASE WHEN month = 'Mar' THEN revenue END) AS Mar_Revenue
,SUM(CASE WHEN month = 'Apr' THEN revenue END) AS Apr_Revenue
,SUM(CASE WHEN month = 'May' THEN revenue END) AS May_Revenue
,SUM(CASE WHEN month = 'Jun' THEN revenue END) AS Jun_Revenue
,SUM(CASE WHEN month = 'Jul' THEN revenue END) AS Jul_Revenue
,SUM(CASE WHEN month = 'Aug' THEN revenue END) AS Aug_Revenue
,SUM(CASE WHEN month = 'Sep' THEN revenue END) AS Sep_Revenue
,SUM(CASE WHEN month = 'Oct' THEN revenue END) AS Oct_Revenue
,SUM(CASE WHEN month = 'Nov' THEN revenue END) AS Nov_Revenue
,SUM(CASE WHEN month = 'Dec' THEN revenue END) AS Dec_Revenue
FROM Department
GROUP BY id;
728x90
'Data Base > Leetcode' 카테고리의 다른 글
Leetcode) No.262 [Trips and Users] (0) | 2022.04.04 |
---|---|
Leetcode) No.626 [Exchange Seats] (0) | 2021.09.04 |
Leetcode) No.180 [Consecutive Numbers] (0) | 2021.09.03 |
Leet) No.175 [Combine Two Tables] (0) | 2021.08.31 |
댓글