1179. Reformat Department Table
Write an SQL query to reformat the table such that there is a department id column and a revenue column for each month.
부서 별 월간 수익 테이블을 만드는 문제다.
CASE 문을 활용해 피봇 테이블을 만들었다.
- 나의 풀이
SELECT id, SUM(CASE WHEN month = 'Jan' THEN revenue END) Jan_Revenue, SUM(CASE WHEN month = 'Feb' THEN revenue END) Feb_Revenue, SUM(CASE WHEN month = 'Mar' THEN revenue END) Mar_Revenue, SUM(CASE WHEN month = 'Apr' THEN revenue END) Apr_Revenue, SUM(CASE WHEN month = 'May' THEN revenue END) May_Revenue, SUM(CASE WHEN month = 'Jun' THEN revenue END) Jun_Revenue, SUM(CASE WHEN month = 'Jul' THEN revenue END) Jul_Revenue, SUM(CASE WHEN month = 'Aug' THEN revenue END) Aug_Revenue, SUM(CASE WHEN month = 'Sep' THEN revenue END) Sep_Revenue, SUM(CASE WHEN month = 'Oct' THEN revenue END) Oct_Revenue, SUM(CASE WHEN month = 'Nov' THEN revenue END) Nov_Revenue, SUM(CASE WHEN month = 'Dec' THEN revenue END) Dec_Revenue FROM department GROUP BY id ORDER BY id;
- MySQL에는 filter() 함수가 없다는 것을 알았다!