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中的函数。
结果图示:
这里写图片描述

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/code1Boy/article/details/78533271
文章标签: sql
个人分类: mysql
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭