博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
when case group by 的用法集合
阅读量:4619 次
发布时间:2019-06-09

本文共 799 字,大约阅读时间需要 2 分钟。

 1、用那个以前大家都熟悉的例子,要求是依旧下面的表格求每个大洲的人口总和

 

国家(countrcoungry) 人口(population)
中国 600
美国 100
加拿大 100
英国 200
法国 300
日本 250
德国 200
墨西哥 50
印度

250

 用 case when 的方法如下

SELECT  SUM(population) as popul,CASE countryWHEN '中国'     THEN '亚洲'WHEN '印度'     THEN '亚洲'WHEN '日本'     THEN '亚洲'WHEN '美国'     THEN '北美洲'WHEN '加拿大'  THEN '北美洲'WHEN '墨西哥'  THEN '北美洲'ELSE '其他' END as areaFROM    CpGROUP BY area

经过上面的步骤 得到下面的结果

人口
亚洲 1100
北美洲 250
其他 700

 同理增加一个字段性别

国家(country) 性别(sex) 人口(population)
中国 1 340
中国 2 260
美国 1 45
美国 2 55
加拿大 1 51
加拿大 2 49
英国 1 40
英国 2 60

按照国家和性别进行分组,得出结果如下

国家
中国 340 260
美国 45 55
加拿大 51 49
英国 40

60

 

select country,sum(case when sex='1' then population else 0 end),sum (case when sex='2' then population else 0 end)from cspgroup by country;

 

转载于:https://www.cnblogs.com/canyangfeixue/p/4096299.html

你可能感兴趣的文章
Docker 版本
查看>>
poj 1753 Flip Game
查看>>
在深信服实习是怎样的体验(研发测试岗)
查看>>
Linux免密码登陆
查看>>
SpringMVC中文件的上传(上传到服务器)和下载问题(二)--------下载
查看>>
Socket & TCP &HTTP
查看>>
osip及eXosip的编译方法
查看>>
Hibernate composite key
查看>>
[CF Round #294 div2] D. A and B and Interesting Substrings 【Map】
查看>>
keepalived+nginx安装配置
查看>>
我的2015---找寻真实的自己
查看>>
android编译遇到问题修改
查看>>
解决Ubuntu18.04.2远程桌面Xrdp登录蓝屏问题
查看>>
Git的安装和使用教程详解
查看>>
lsof命令详解
查看>>
常用模块,异常处理
查看>>
父窗口与子窗口之间的传值
查看>>
eclipse 找不到 tomcat 的解决方案
查看>>
HDU 1890--Robotic Sort(Splay Tree)
查看>>
connection string for Excel/Access 2010
查看>>