欢迎投稿

今日深度:

Sql语句-case when then else end,sql-case

Sql语句-case when then else end,sql-case


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



下面是建库和表结构据:

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



SQL条件控制(case whenthenelseend) 详细解释

遇到 XXX情况 就 XXX 遇不到就 XXX 结束
case when …… then …… else …… end
 

SQL条件控制(case whenthenelseend)

select ByeTime,case when len(ByeTime)>0 then str(DATEDIFF(day,ComeInTime,ByeTime))+'(已离职)'
else str(DATEDIFF(day,ComeInTime,getdate())) end as test
from myUser where DelFlag='0' and UserID='cq'
这样试一下.语法应该没有问题
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2906.html NewsArticle Sql语句-case when then else end,sql-case 根据上面的表信息输出下面的结果: 下面是建库和表结构据: create table DeptSales(deptID int,SubjMonth int ,sales int ,deptname varchar(50)) insert into deptsales (deptid...
评论暂时关闭