SQL 之 case when

sql中case的使用方法

  1. case函数具有两种格式,分别是以下两种:
    ①: case简单函数

        case 列名
            when1 then 结果1
            when2 then 结果2
            else 其他结果
        end

    ②:case搜索函数

            case 
                when 条件1 then1
                when 条件2 then2
                else 其他结果
            end

    注:case只返回第一个满足条件的值。
    2.示例:
    ①case简单函数示例:

SELECT 
    compid,
    (case checkmethod  
        when  'A' then 1
        when  'B' then 2
        when  'C' then 3
        else 0 end) as flag
    from
        bz_check_main
结果图示:

这里写图片描述

②case搜索函数示例:
SELECT 
    compid,
    IFNULL(SUM(CASE
                WHEN (checkmethod = 'A') THEN 1
            END),
            0) AS xx1,
    IFNULL(SUM(CASE
                WHEN (checkmethod = 'B') THEN 2
            END),
            0) AS xx2,
    IFNULL(SUM(CASE
                WHEN (checkmethod = 'B') THEN 3
            END),
            0) AS xx3
FROM
    bz_check_main
GROUP BY compid;

小记:此列中进行了行列置换,统计A、B、C、的数量,并对空值以0做替换;ifnull函数是MySql中的函数。
结果图示:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值