Sql语句-case when then else end

根据上面的表信息输出下面的结果:

Sql语句-case when then else end


下面是建库和表结构据:

[html] view plain copy
 print?Sql语句-case when then else endSql语句-case when then else end
  1. create table DeptSales  
  2. (  
  3.     deptID int,  
  4.     SubjMonth int ,  
  5.     sales int ,  
  6.     deptname varchar(50)  
  7. )  

[html] view plain copy
 print?Sql语句-case when then else endSql语句-case when then else end
  1. insert into deptsales (deptid ,subjmonth,sales) values (1,1,55);  
  2. insert into deptsales (deptid ,subjmonth,sales) values (2,1,66);  
  3. insert into deptsales (deptid ,subjmonth,sales) values (3,1,77);  
  4. insert into deptsales (deptid ,subjmonth,sales) values (2,2,34);  
  5. insert into deptsales (deptid ,subjmonth,sales) values (4,2,56);  
  6. insert into deptsales (deptid ,subjmonth,sales) values (3,3,78);  

执行sql语句:

[html] view plain copy
 print?Sql语句-case when then else endSql语句-case when then else end
  1. 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;  
  2. +------+------------+------------+------------+------------+  
  3. | 部门 | 一月销售额 | 二月销售额 | 三月销售额 | 四月销售额 |  
  4. +------+------------+------------+------------+------------+  
  5. |    1 | 55         | NULL       | NULL       | NULL       |  
  6. |    2 | 66         | 34         | NULL       | NULL       |  
  7. |    3 | 77         | NULL       | 78         | NULL       |  
  8. |    4 | NULL       | 56         | NULL       | NULL       |  
  9. +------+------------+------------+------------+------------+  
  10. 4 rows in set  

相关文章:

  • 2021-09-28
  • 2022-02-15
猜你喜欢
  • 2021-10-20
  • 2021-12-24
  • 2022-12-23
  • 2021-06-06
相关资源
相似解决方案