Sql语句-case when then else end

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

下面是建库和表结构据:

[html] view plain copy

 print?

  1. create table DeptSales  
  2. (  
  3.     deptID int,  
  4.     SubjMonth int ,  
  5.     sales int ,  
  6.     deptname varchar(50)  
  7. )  

[html] view plain copy

 print?

  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?

  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  
时间: 2024-12-22 12:27:47

Sql语句-case when then else end的相关文章

sql语句case when会报case关键字的错误

问题描述 sql语句case when会报case关键字的错误 select * from shrzl a inner join (select max(shrdh) shrdh,max(id) id from sfglb group by fhrdh)b on a.shrdh=b.shrdh case when b.shrdh is not null then a.no=-1 end 解决方案 SQL的case when语句sql语句中case when的用法SQL语句中CASE WHEN用法

SQL语句中的case when语法以及Oracle中的类似方法

一.基本概念和例子 case when是sql语句的语法,而不是属于特定数据库的语言 方法一: select num,name, (case classnowhen '1' then '一班'when '2' then '二班'else '其他班级' end) as classname from student 方法二: select num,name, (case when classno = '1' then '一班'when classno = '2' then '二班'else '其他班

sql中case语句的用法浅谈_MsSql

SQL中Case的使用方法 Case具有两种格式.简单Case函数和Case搜索函数. 复制代码 代码如下: --简单Case函数 CASE sex          WHEN '1' THEN '男'          WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男'          WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Ca

case when sql语句问题

问题描述 case when sql语句问题 当ACFLOW_ACCOUNTTYPE='0' AND (ACFLOW_BEFOREAVAILABLE < ACFLOW_AFTERAVAILABLE)的情况下ACFLOW_CHARGEAMOUNT as availableIncomeAmount 这sql语句怎么写?case when不能加as啊... 解决方案 case when ACFLOW_ACCOUNTTYPE='0' AND ACFLOW_BEFOREAVAILABLE < ACFLO

sql中case语句的用法浅谈

SQL中Case的使用方法 Case具有两种格式.简单Case函数和Case搜索函数.复制代码 代码如下:--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功

SQL语句转成LINQ:select *, (case tab1 when 1 then &amp;amp;#x27;y&amp;amp;#x27; when 2 then &amp;amp;#x27;N&amp;amp;#x27; end ) as test

问题描述 SQL语句转成LINQ:select*,(casetab1when1then'y'when2then'N'end)astestfromTaleftjoinTbONTa.pk_id=Tb.Fk_idwhereTalike'%key%' 解决方案 解决方案二:varq=fromtaindb.Tajointbindb.Tbonta.pk_idequalstb.Fk_idintotempfromttintemp.DefaultIfEmpty()whereta.Ta.Contains("key&

写出优美SQL语句的捷径

从事企业系统开发很多年了,在系统的工作流分析中,少不了要分析SQL语句,当系统积累到一定规模后,所涉及的数据库表会以几何数增长,因此会经常碰到很长的SQL语句,涉及到的表会达到几十张之多,当你拿到这样一段SQL时,需要分析各个表之间的关系,头就有点大!我Google了一下,没有找到对SQL语句进行断行及缩进的工具,但是工作中又经常碰到这种SQL,手动来断行及缩进的话,又是一种机械重复的工作,因此"懒"劲上来了,自己周末开发了一个简单的辅助工具,同时分享给大家,我已上传程序提供下载. 我

一个用来统计相同姓名人数的SQl语句

sql语句查询 表结构是这样: ID 姓名 性别 1 张三 男 2 王四 男 3 丽丽 女 4 张三 男 5 赵柳 男 6 高洁 男 7 王四 女 8 高洁 女 9 张三 女 怎么能用一条SQL语句查询出如下的结果 姓名 人员个数 男人数 女人数 包含ID 张三 3 2 1 1,4,9 王四 2 1 1 2,7 丽丽 1 0 1 3 高洁 2 1 1 6,8 赵柳 1 1 0 5 复制代码 代码如下: SELECT * FROM (SELECT DISTINCT Name,Count(ID) a

(MS SQL Server)SQL语句导入导出大全

server|语句 /*******  导出到excel EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""' /***********  导入Excel SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',   'Data