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
