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
时间: 09-26

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

SQL语句case关键字的用法

一.简述 在操作数据库的过程经常忘了case关键字的语法,所以在此记录一下. 二.内容 case的简单语法 SELECT testName, testSex, CASE testSex WHEN '1' THEN '男' WHEN '0' THEN '女' END Sex FROM testDataTable SELECT testName, testDatetime, CASE WHEN testDatetime < '2016-04-11' THEN 'old' ELSE 'new' END

sql 语句之 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 首先创建一张users表,其中包含id,name,sex三个字段,表内容如下: 复制代码 SQL> drop table users purge; drop table users p

SQL的case when then else end语句的用法

SELECT a.managecom, a.subtype, count(*) loadsucc, sum(case when a.state in ('4', '5', '6', '7', '8', '9') then 1 else 0 end) recogsucc, sum(case when a.state in ('3', '12', '13') then 1 else 0 end) recogfail, sum(case when a.state in ('1', '2') then

sql中case when语句的使用

case when语句有两种格式:简单case函数和搜索case函数. --简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要注意

如何用ORM支持SQL语句的CASE WHEN?

OQL如何支持CASE WHEN? 今天,一个朋友问我,OQL可否支持CASE WHEN语句?他给的示例SQL如下: select HName,case when IsEnable=1 then '启用' else '停用' from tb_User OQL是SOD框架的ORM查询语言,它类似Linq,但是它诞生的历史比Linq早,并且更加接近SQL语法.所以,对SOD框架而言,对应ORM如何支持CASE WHEN,就等于是问OQL如何支持CASE WHEN了. 这个问题已经不止这一个朋友来问我

oracle case where 复杂sql语句

update hr_user u set u.is_approve=(case when u.curr_org_id in (select t.org_id from hr_organization t start with t.org_id = 10001263 connect by prior org_id = t.org_id_parent) then 'N' ELSE 'Y' END); update hr_user u set u.is_approve=(case when u.cur

用sql语句导出oracle中的存储过程和函数

用sql语句导出oracle中的存储过程和函数: SET echo off ; SET heading off ; SET feedback off ; SPOOL 'C:/PRC.SQL' replace SELECT CASE WHEN LINE = 1 THEN 'CREATE OR REPLACE ' || TEXT WHEN LINE = MAX_LINE THEN TEXT || CHR(10 ) || '/' ELSE TEXT END FROM USER_SOURCE A LEF

【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建

数据库的创建和sql语句增删改查 1. 加载驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, name varchar(20), age integer ); 添加: insert into person(name, age) values('lisi', 19); 删除: delete from person where _id = 1; 修改: update person set name =

标准sql语句,学习

标准SQL语句总结标准SQL语句总结,标准SQL语言基本上适用于下面所列出的数据库软件 ----------------------------------------------------------------------------- 数据库软件清单 A商业数据库软件如下 1.微软的MS SQL Server和Access 2.IBM的DB2,informax 3.Sybase的大型数据库ASE,中小型数据库ASA 4.甲骨文公司的Oracle8.0,oracle9i系列 5.Borla