Oracle case when then简单用法

rowid      ID 主键     COUNTRY 国家    SEX 性别    POPULIATION 人口数量

1     0     中国     1     200 

2     1     中国     2     300 

3     2     美国     1     20 

4     3     美国     2     10 

5     4     加拿大     1     40 

6     5     加拿大     2     80 

7     6     英国     1     55 

8     7     英国     2     110 

9     8     小日本     3     111 

select t.country,
sum(case 
       when t.sex = '1' then t.populiation else '0' end) as 男,
sum(case when t.sex = '2' then t.populiation else '0' end) as 女
from test t group by t.country

rowid   country  男   女

1 中国 200 300
2 加拿大 40 80
3 美国 20 10
4 小日本 0 0
5 英国 55 110

select sum(t.populiation) ,
 case t.country when '中国' then '亚洲' when '美国' then '美洲'
       when '加拿大' then '美洲' when '英国' then '欧洲' 
      else '其他' end 
from test t  GROUP BY CASE t.country
     WHEN '中国'     THEN '亚洲'  WHEN '美国'     THEN '美洲' 
     WHEN '加拿大' THEN '美洲'  WHEN '英国' THEN '欧洲' ELSE '其他' END;

rowid   sum       area

1 165 欧洲
2 111 其他
3 500 亚洲
4 150 美洲

转载于:https://my.oschina.net/u/2335525/blog/494857

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值