case when常见用法分析

目录

case when 语法:

1、case when 条件判断,用于字段

2、case when(+聚合函数+group by实现行转列)

3、分段显示 case when 字段 between ...


case when 语法:

case when .. then .. else ..end
注: else 可省略,默认为空。

case when 常用几种用法:

1、case when 条件判断,用于字段

(1)case 字段 when 条件 then 结果1 else 结果2 end

select case deptno when '10' then avg1 else avg2 end from emp;

(2)case when 字段+条件 then 结果1 else 结果2 end

select case when deptno = '10' then avg1 else avg2 end from emp;

2、case when(+聚合函数+group by实现行转列)

select sum(case when deptno=10 then avg1 end)        as bm10
      ,sum(case when deptno=20 then avg1 end)        as bm20 
      ,sum(case when deptno=30 then avg1 end)        as bm30
      ,sum(case when deptno is null then avg1 end)   as bm00
from (select deptno
            ,avg(sal)                                as avg1 
       from emp 
       group by deptno
      );


3、分段显示 case when 字段 between ...

--1.对成绩表中的成绩进行分段,显示[100-85],[85-70],[70-60],[ <60]
select a.*
      ,case when round(score,2) between 85 and 100 then '[100-85]'
            when round(score,2) between 70 and 84.99 then '[85-70]'
            when round(score,2) between 60 and 69.99 then '[70-60]'
            else '[<60]' 
            end  as '分类'
from sc_a01 a
;
  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据求学路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值