mysql中的case when then else end用法

该文章介绍了如何在MySQL查询中使用IFNULL函数处理可能的NULL值,并利用CASEWHENTHENELSEEND结构根据不同type值进行计数,以统计100、200、300、400和500类型的总数。
摘要由CSDN通过智能技术生成
        SELECT
            COUNT(*) AS 'sum0',
            IFNULL(SUM(CASE WHEN type = 100 THEN 1 ELSE 0 END),0) AS 'sum1',
            IFNULL(SUM(CASE WHEN type = 200 THEN 1 ELSE 0 END),0) AS 'sum2',
            IFNULL(SUM(CASE WHEN type = 300 THEN 1 ELSE 0 END),0) AS 'sum3',
            IFNULL(SUM(CASE WHEN type = 400 THEN 1 ELSE 0 END),0) AS 'sum4',
            IFNULL(SUM(CASE WHEN type = 500 THEN 1 ELSE 0 END),0) AS 'sum5'
        FROM type

以上句子用于统计当type分别为 100,200,300,400,500时候的总数。

用到的具体函数解析

1 IFNULL解析

在mysql中IFNULL() 函数用于判断第一个表达式是否为 NULL,如果第一个值不为NULL就执行第一个值。第一个值为 NULL 则返回第二个参数的值

上面的例子就是当sum type=100是空值时,sum1=0

2 case when then else end 用法

此方法类似于我们编程语言中的 if.. else..用法

简单的函数形式

case 字段 when 值 then 结果 else 其他情况 end;

表达式的形式

case when 字段=值(这里写表达式,例如 score=80) then 结果 else 其他情况 end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值