热线电话:13121318867

登录
2022-09-13 阅读量: 689
SQL行转列

1663073735826(1).jpg



如上图所示,有一个poptbl2表,包含县名,性别(1表示男性,2表示女性)和人口数,现在要求通过SQL代码实现如下图所示的结果:



1663074032338(1).jpg



解法:

SELECT pref_name,

/* 男性人口 */

SUM( CASE WHEN sex = '1' THEN population ELSE 0 END) AS 男,

/* 女性人口 */

SUM( CASE WHEN sex = '2' THEN population ELSE 0 END) AS 女

FROM PopTbl2

GROUP BY pref_name;

这里是将"行结构"的数据转化成了"列结构"的数据,巧用case when 完美实现将SQL的查询结果转换成为二维表的格式.

68.4581
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子