Sql语句-case when then else end
根据上面的表信息输出下面的结果:
下面是建库和表结构据:
create table DeptSales ( deptID int, SubjMonth int , sales int , deptname varchar(50) )
insert into deptsales (deptid ,subjmonth,sales) values (1,1,55); insert into deptsales (deptid ,subjmonth,sales) values (2,1,66); insert into deptsales (deptid ,subjmonth,sales) values (3,1,77); insert into deptsales (deptid ,subjmonth,sales) values (2,2,34); insert into deptsales (deptid ,subjmonth,sales) values (4,2,56); insert into deptsales (deptid ,subjmonth,sales) values (3,3,78);
执行sql语句:
mysql> select deptID as '部门',sum(case SubjMonth when 1 then sales end) '一月销售额',sum(case SubjMonth when 2 then sales end) '二月销售额',sum(case SubjMonth when 3 then sales end) '三月销售额',sum(case SubjMonth when 4 then sales end) '四月销售额' from deptsales d group by deptID; +------+------------+------------+------------+------------+ | 部门 | 一月销售额 | 二月销售额 | 三月销售额 | 四月销售额 | +------+------------+------------+------------+------------+ | 1 | 55 | NULL | NULL | NULL | | 2 | 66 | 34 | NULL | NULL | | 3 | 77 | NULL | 78 | NULL | | 4 | NULL | 56 | NULL | NULL | +------+------------+------------+------------+------------+ 4 rows in set
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。