Sql语句-case when then else end

简介:

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



下面是建库和表结构据:

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. create table DeptSales  
  2. (  
  3.     deptID int,  
  4.     SubjMonth int ,  
  5.     sales int ,  
  6.     deptname varchar(50)  
  7. )  

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  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 ? 在CODE上查看代码片 派生到我的代码片
  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  
目录
相关文章
|
3月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何在SQL语句里使用CASE WHEN语句
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
SQL
SQL: 巧妙使用CASE WHEN实现查询
文章演示了如何利用SQL中的CASE WHEN语句来有效地进行条件性聚合查询,通过具体示例展示了CASE WHEN在统计分析中的应用技巧。
59 0
|
5月前
|
SQL 数据库
SQL中CASE WHEN THEN ELSE END的用法详解
SQL中CASE WHEN THEN ELSE END的用法详解
|
5月前
|
SQL
SQL语句case when then else end用法
SQL语句case when then else end用法
|
4月前
|
SQL 数据采集 BI
SQL CASE WHEN语句详解
SQL CASE WHEN语句详解
|
5月前
|
SQL Oracle 关系型数据库
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
71 0
|
6月前
|
SQL
SQL语句case when的用法
SQL语句case when的用法
|
2月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
4月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
101 13
|
4月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。