droptable Department;CreatetableIfNotExists Department (id int, revenue int,monthvarchar(5));Truncatetable Department;insertinto Department (id, revenue,month)values('1','8000','Jan');insertinto Department (id, revenue,month)values('2','9000','Jan');insertinto Department (id, revenue,month)values('3','10000','Feb');insertinto Department (id, revenue,month)values('1','7000','Feb');insertinto Department (id, revenue,month)values('1','6000','Mar');
输入
输出
行转列,先求出所有数据
-- todo 1 行转列,先求出所有数据select id,casewhenmonth='Jan'then revenue
endas Jan_Revenue,casewhenmonth='Feb'then revenue
endas Feb_Revenue,casewhenmonth='Mar'then revenue
endas Mar_Revenue
from Department;
以id分组,求出每个月每个人的数据总和
-- todo 2 以id分组,求出每个月每个人的数据总和with t1 as(select id,casewhenmonth='Jan'then revenue
endas Jan_Revenue,casewhenmonth='Feb'then revenue
endas Feb_Revenue,casewhenmonth='Mar'then revenue
endas Mar_Revenue
from Department
)select id,sum(Jan_Revenue)as Jan_Revenue,sum(Feb_Revenue)as Feb_Revenue,sum(Mar_Revenue)as Mar_Revenue
from t1
groupby id;