zoukankan      html  css  js  c++  java
  • when case group by 的用法集合

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

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

    250

     用 case when 的方法如下

    SELECT  SUM(population) as popul,
    CASE country
    WHEN '中国'     THEN '亚洲'
    WHEN '印度'     THEN '亚洲'
    WHEN '日本'     THEN '亚洲'
    WHEN '美国'     THEN '北美洲'
    WHEN '加拿大'  THEN '北美洲'
    WHEN '墨西哥'  THEN '北美洲'
    ELSE '其他' END as area
    FROM    Cp
    GROUP 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 csp
    group by country;
  • 相关阅读:
    oracle sql语句
    Block
    Bug调试
    Xcode 项目文件介绍
    Mac终端命令
    Objective-C命名编写规范
    2014-07-23 .NET实现微信公众号接入
    2014-07-22 如何成为一名合格的职业人士
    3、C# 文件处理工具集
    2、C# 编码/加密工具集
  • 原文地址:https://www.cnblogs.com/canyangfeixue/p/4096299.html
Copyright © 2011-2022 走看看