美文网首页
case when then else end

case when then else end

作者: 竞技等级几点叫你你呢 | 来源:发表于2017-08-15 11:17 被阅读0次

    给定一张表


    国家 人口
    中国 600
    印度 600
    美国 200
    韩国 600
    澳大利亚 700
    英国 400

    求这样的结果集:

    人口
    亚洲 3600
    北美洲 400
    大洋洲 1400
    欧洲 800

    --

    建表sql:

    CREATE TABLE country (
        name VARCHAR(255) PRIMARY KEY,
        population INT
    );
    
    INSERT INTO country (NAME, population)
    VALUES
        ('中国', 600),
        ('印度', 600),
        ('美国', 200),
        ('韩国', 600),
        ('澳大利亚', 700),
        ('英国', 400);
    

    sql:

    SELECT sum(c.population) as '人口',
    CASE c.`name`
    when '中国' then '亚洲'
    when '印度' then '亚洲'
    when '美国' then '北美洲'
    when '韩国' then '亚洲'
    when '澳大利亚' then '大洋洲'
    when '英国' then '欧洲'
    else '其他'
    end  as '州'
    from country c
    GROUP BY 
    CASE c.`name`
    when '中国' then '亚洲'
    when '印度' then '亚洲'
    when '美国' then '北美洲'
    when '韩国' then '亚洲'
    when '澳大利亚' then '大洋洲'
    when '英国' then '欧洲'
    else '其他' end;
    

    结果:


    相关文章

      网友评论

          本文标题:case when then else end

          本文链接:https://www.haomeiwen.com/subject/rwemrxtx.html