本文主要是介绍按性别对国家人口进行横向罗列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数据库: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函数的强大。
这篇关于按性别对国家人口进行横向罗列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!