SQL中的CASE WHEN用法(2)

来源:未知 责任编辑:责任编辑 发表时间:2014-02-02 17:50 点击:
根据这个国家人口数据,统计亚洲和北美洲的人口数量。应该得到下面这个结果。     
    
洲人口     
    
亚洲1100      
    
北美洲250      
    
其他700      
    
想要解决这个问题,你会怎么做?生成一个带有洲Code的View,是一个解决方法,但是这样很难动态的改变统计的方式。     
    
如果使用Case函数,SQL代码如下:      
    
SELECT  SUM(population),      
    
        CASE country      
    
                WHEN '中国'     THEN '亚洲'      
    
                WHEN '印度'     THEN '亚洲'      
    
                WHEN '日本'     THEN '亚洲'      
    
                WHEN '美国'     THEN '北美洲'      
    
                WHEN '加拿大'  THEN '北美洲'      
    
                WHEN '墨西哥'  THEN '北美洲'      
    
        ELSE '其他' END      
    
FROM    Table_A      
    
GROUP BY CASE country      
    
                WHEN '中国'     THEN '亚洲'      
    
                WHEN '印度'     THEN '亚洲'      
    
                WHEN '日本'     THEN '亚洲'      
    
                WHEN '美国'     THEN '北美洲'      
    
                WHEN '加拿大'  THEN '北美洲'      
    
                WHEN '墨西哥'  THEN '北美洲'      
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • sql常见面试题
  • SQL SERVER 2005性能之跟踪
  • SQL编程(一)
  • LINUX上RMAN自动备份脚本
  • sql server面试题
  • 如何将多个SQL查询统计结果一次显示出来
  • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
  • SQL小技巧系列 --- 行转列合并
  • sql server 列转行
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1