按性别对国家人口进行横向罗列

数据库:twt001

数据表:apopula

参考文章:SQL中的CASE WHEN用法

用一个SQL语句完成不同条件的分组。表内容和字段属性如下:

        

 

按照国家和性别进行分组,得出结果如下      国家     男         女      中国    340      260       美国    45        55       加拿大 51      49       英国    40     60     普通情况下,用UNION也可以实现用一条语句进行查询。但是那样增加消耗(两个Select部分),而且SQL语句会比较长。下面是一个是用Case函数来完成这个功能的例子
SELECT country,      SUM( CASE WHEN sex = '1' THEN      population ELSE 0 END)as 男,  --男性人口     SUM( CASE WHEN sex = '2' THEN      population ELSE 0 END)as 女  --女性人口      FROM  apopula      
GROUP BY country;      

运行结果如下: 这样我们使用Select,完成对二维表的输出形式,充分显示了Case函数的强大。

 

   


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部