Contents
내가 작성한 쿼리
매달 부서 ID 열과 수익 열이 있도록 표를 다시 포맷하세요. 결과 테이블을 순서에 상관없이 반환하세요.
내가 작성한 쿼리
MySQL, Oracle
SELECT id, MAX(CASE WHEN month = 'Jan' THEN revenue END) Jan_Revenue, MAX(CASE WHEN month = 'Feb' THEN revenue END) Feb_Revenue, MAX(CASE WHEN month = 'Mar' THEN revenue END) Mar_Revenue, MAX(CASE WHEN month = 'Apr' THEN revenue END) Apr_Revenue, MAX(CASE WHEN month = 'May' THEN revenue END) May_Revenue, MAX(CASE WHEN month = 'Jun' THEN revenue END) Jun_Revenue, MAX(CASE WHEN month = 'Jul' THEN revenue END) Jul_Revenue, MAX(CASE WHEN month = 'Aug' THEN revenue END) Aug_Revenue, MAX(CASE WHEN month = 'Sep' THEN revenue END) Sep_Revenue, MAX(CASE WHEN month = 'Oct' THEN revenue END) Oct_Revenue, MAX(CASE WHEN month = 'Nov' THEN revenue END) Nov_Revenue, MAX(CASE WHEN month = 'Dec' THEN revenue END) Dec_Revenue FROM Department GROUP BY id;
Oracle
SELECT * FROM department PIVOT ( MIN(revenue) revenue FOR month IN ( 'Jan' Jan, 'Feb' Feb, 'Mar' Mar, 'Apr' Apr, 'May' May, 'Jun' Jun, 'Jul' Jul, 'Aug' Aug, 'Sep' Sep, 'Oct' Oct, 'Nov' Nov, 'Dec' Dec ) ) ORDER BY id;
차이점
Oracle
은 행을 열로 변환하는 함수 존재
Share article