아래소스가 책에 있는 소스 인대 이걸 아래표처럼 김범수의 게산값에는 김범수의 봄만 더한거 윤종신은 윤종신의 봄만 더한거 합계는 두계를 더한거
이런식으로 쭉쭉 봄 여름 가을 겨울 이렇게 표현하고자하는대 어떻게 하면될까요?
season | 김범수 | 윤종신 | 합계 |
봄 | 계산값 | 계산값 | 계산값 |
여름 | '' | '' | '' |
가을 | '' | '' | '' |
겨울 | '' | '' | '' |
create database sqldb; use sqldb; create table pivottest ( uName char(3), season Char(2), amount INT ); insert into pivottest VALUES ('김범수', '겨울', 10), ('윤종신', '여름', 15), ('김범수', '가을', 25), ('김범수', '봄', 23), ('김범수', '봄', 37), ('윤종신', '겨울', 40), ('김범수', '여름', 14), ('김범수', '겨울', 22) ('윤종신', '여름', 64); select * from pivottest; select uName, sum(if(season='봄', amount 0)) as '봄' sum(if(season='여름', amount 0)) as '여름' sum(if(season='가을', amount 0)) as '가을' sum(if(season='겨울', amount 0)) as '겨울' sum(amount AS= '합계' from pivotTest Group by uName; select season, sum(if(uName = '김범수' , amount, 0)) as '김범수' , sum(if(uName = '윤종신' , amount, 0)) as '윤종신' , sum(amount) as '합계' from pivottest group by season order by case when 'season' = '봄' then 1 when 'season' = '여름' then 2 when 'season' = '가을' then 3 when 'season' = '겨울' then 4 end;