必威体育Betway必威体育官网
当前位置:首页 > IT技术

SQL中的case when语法

时间:2019-09-26 06:15:37来源:IT技术作者:seo实验室小编阅读:90次「手机版」
 

sql case when

sql中case when的应用案例

案例分析结构如下:
 - case when案例问题的描述
 - case when的主要应用场景
 - 实际SQL代码

一:实际案例介绍

  • 描述:有一个sales表,该表为不同细分市场逐月的销量表,字段为细分级别、日期、数量、车型,其中细分级别为车市场的细分市场,日期为字符串类型的月度数据(201801),车型为该细分市场的相关车型,数量为该车型该月度的销量。
  • 分析:该案例是一个典型的聚合统计的例子,首先想到的是应用group by语句对细分市场进行分组,然后需要解决的问题就是分月统计,这就需要应用case when语句了。

二:case when的主要应用场景

  • 场景一:首先,case when可以应用在分类命名问题中,例如在汽车销量中对销量进行分类,单月销量小于3000台的为不及格,单月销量在3000-5000台的为一般,单月销量在5000-10000台的为较好,单月销量在10000台以上的为优秀,case when就可以在这种场景中进行应用;
  • 场景二:其次,case when还可以与聚合函数一起,应用在分类统计方面,例如在汽车销量表中对销量进行分细分市场分月统计。

三:SQL代码

  • 场景一的解决思路:
select 车型, 日期,
	(case when 数量 < 3000 then '不及格'
		when 数量 >= 3000 and 数量 < 5000 then '一般'
		when 数量 >= 5000 and 数量 < 10000 then '较好'
		when 数量 >= 10000 then '优秀'
	end) from sales
	limit 10; 
  • 场景二的解决思路:
select 细分市场,
	sum(case when 日期 = '201810' then 数量 end) `201810月`,
	sum(case when 日期 = '201811' then 数量 end) `201811月`,
	sum(case when 日期 = '201812' then 数量 end) `201812月`
	from sales
	where 细分市场 <> 'Null'
	group by 细分市场;

以上就是case when的相关用法,更多内容敬请期待!

相关阅读

SqlHelper.ExecuteScalar返回插入的记录的主键

INSERT INTO T_LIMS_Inspection({0}) output INSERTED.ID  VALUES ({1});

navicat for mysql注册码

NAVH-WK6A-DMVK-DKW3

sql server Convert日期处理

一般在sql server 中对日期进行处理都会使用Convert 函数。但是在对日开发中,am 或者 pm 需要显示成 (午前)(午後)。这时用sql 

mysql字段类型tinyint、smallint、mediumint、int、bi

mysql建模的过程中,对于优化来讲一个非常重要的点就是字段类型的设置,好的字段类型的设置可以帮助更快的查询数据同时能节约硬盘空

【MySQL】CONCAT 和 GROUP_CONCAT

今天做项目时遇到这样一个需求:数据库有一张album相册表和一张image照片表,页面要显示的是相册的名称和该相册下所有的照片(一个相册

分享到:

栏目导航

推荐阅读

热门阅读