欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL中的case when语法

程序员文章站 2024-03-12 20:27:20
...

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的相关用法,更多内容敬请期待!

相关标签: SQL case when