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;
  • 相关阅读:
    利用cookie改变背景色
    AsyncResult
    元组Tuple
    子查询和高效分页
    事务
    健康亮黄灯 疾病有信号
    每天学点舒压减压秘诀
    药房里买得到的传世名方:新版
    电子设备热循环和振动故障预防
    LED照明应用基础与实践
  • 原文地址:https://www.cnblogs.com/canyangfeixue/p/4096299.html
Copyright © 2011-2022 走看看