CASE WHEN 的基本使用

这篇文章解释了SQL中的CASEWHEN语句如何根据dhi表中type字段的值返回不同天气情况,同时使用COUNT函数统计高影响天气事件数量。还介绍了COALESCE函数在处理可能为空的字段值时的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

case when功能 

CASE 字段名 WHEN 条件值1 THEN 对应值1
           WHEN 条件值2  THEN 对应值2
           ......
           ELSE 默认值 END 
CASE dhi."type"
                   WHEN 1 THEN '能见度'
                   WHEN 2 THEN '风'
                   WHEN 3 THEN '雨'
                   WHEN 4 THEN '低温'
                   END  AS high_impact_name,
               COUNT(*) AS high_impact_count
               当dhi表中的type字段的值为1时,返回’能见度’;当dhi表中的type字段的值为2时,返回’风’;当dhi表中的type字段的值为3时,返回’雨’;当dhi表中的type字段的值为4时,返回’低温’。
               
               
               AS:
AS 关键字用于为查询结果中的字段指定别名。在这里,通过 AS 关键字,生成的高影响天气名称被命名为 high_impact_name,并且将计数的结果命名为 high_impact_count。

COUNT(*):
这是一个聚合函数,用于计算满足查询条件的行数,即高影响天气事件的数量。

总体来说,这段 SQL 查询语句的作用是从数据库中选择出满足一定条件的记录,并根据dhi."type"的值返回对应的高影响天气名称,同时统计每种高影响天气事件的数量。
  1. CASE WHEN语句会从上到下依次检查WHEN条件。
  2. 如果某个WHEN条件满足,则返回对应的THEN值,并不再处理后续WHEN条件。
  3. 如果没有WHEN条件满足,则返回ELSE中的默认值(如果存在ELSE分支)。
  4. 如果没有指定ELSE,且所有WHEN条件都不满足,返回NULL

coalesce函数(返回参数中的第一个非空表达式 )

类如一:COALESCE(ai.airport_code)  //这个语句的意思是如果当ai表中的airport_code字段不为为空时返回airport_code字段的值,如果为空时就返回null。
类如二:COALESCE(ai.airport_code,'自定义') //这个语句的意思是如果当ai表中的airport_code字段不为空时返回airport_code字段的值,如果为空时就返回'自定义' 的值。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值