美文网首页
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