https://leetcode.com/problems/reformat-department-table/submissions/877195452/
피봇테이블을 이용해서 출력 형식을 변경하는 문제
월별로 새로운 열을 만들어줘야 하므로 CASE WHEN을 이용하여 해당 월 조건을 만족하면 Revenue를 가져오게끔 하고, 나머지는 NULL로 처리함
id별로 월별 Revenue가 보고싶으므로 id를 이용해서 GROUP BY 해줌
1. 조건에 맞는 새로운 열을 CASE WHEN 이용해서 만들어줌
2. 기준에 따라 보고싶은 경우 GORUP BY 이용
SELECT
id,
SUM(CASE WHEN month = 'Jan' THEN revenue ELSE NULL END) AS Jan_Revenue,
SUM(CASE WHEN month = 'Feb' THEN revenue ELSE NULL END) AS Feb_Revenue,
SUM(CASE WHEN month = 'Mar' THEN revenue ELSE NULL END) AS Mar_Revenue,
SUM(CASE WHEN month = 'Apr' THEN revenue ELSE NULL END) AS Apr_Revenue,
SUM(CASE WHEN month = 'May' THEN revenue ELSE NULL END) AS May_Revenue,
SUM(CASE WHEN month = 'Jun' THEN revenue ELSE NULL END) AS Jun_Revenue,
SUM(CASE WHEN month = 'Jul' THEN revenue ELSE NULL END) AS Jul_Revenue,
SUM(CASE WHEN month = 'Aug' THEN revenue ELSE NULL END) AS Aug_Revenue,
SUM(CASE WHEN month = 'Sep' THEN revenue ELSE NULL END) AS Sep_Revenue,
SUM(CASE WHEN month = 'Oct' THEN revenue ELSE NULL END) AS Oct_Revenue,
SUM(CASE WHEN month = 'Nov' THEN revenue ELSE NULL END) AS Nov_Revenue,
SUM(CASE WHEN month = 'Dec' THEN revenue ELSE NULL END) AS Dec_Revenue
FROM department
GROUP BY id
'SQL' 카테고리의 다른 글
[문법] IF / CASE WHEN (0) | 2023.12.28 |
---|---|
[문법] LIKE (0) | 2023.12.28 |
HackerRank_SQL_Type of Triangle <못품> (0) | 2023.01.11 |
HackerRank_SQL_Top Eearners (0) | 2023.01.11 |
HackerRank_SQL_Weather Observation Station 15, 소숫점 (0) | 2023.01.05 |