初始数据,有区域、性别(1为男,2为女)、和人口;

报表要求:
将数据根据、区、市、省对不同性别的人口进行分别汇总

数据中涉及的行政区划

行列转置,汇总再揭后的报表结果

处理:
1.使用case when进行性别翻译 ,并将性别字段的 case when 表达式放在group by中,根据性别将数据分两行
2. 根据表头条件设置列,case when第一层 放性别(匹配性别分的两行),第二层 统计匹配条件的人口


create table poptbl2
(area varchar(10),sex int,population int
);
insert into poptbl2(area, sex, population) values ('丰泽',1,20);
insert into poptbl2(area, sex, population) values ('丰泽',2,30);
insert into poptbl2(area, sex, population) values ('鲤城',1,25);
insert into poptbl2(area, sex, population) values ('鲤城',2,40);
insert into poptbl2(area, sex, population) values ('鼓楼',1,50);
insert into poptbl2(area, sex, population) values ('鼓楼',2,70);
insert into poptbl2(area, sex, population) values ('台江',1,55);
insert into poptbl2(area, sex, population) values ('台江',2,30);select * from poptbl2;select
casesexwhen 1 then '男'when 2 then '女'
end as '性别',
casewhensex = 1then(select sum(poptbl2.population) from poptbl2 where sex =1)else(select sum(poptbl2.population) from poptbl2 where sex =2)
end as '福建',
casewhensex = 1then(select sum(poptbl2.population) from poptbl2 where sex =1 and poptbl2.area = '丰泽')else(select sum(poptbl2.population) from poptbl2 where sex =2 and poptbl2.area = '丰泽')end as '丰泽',
casewhensex = 1then(select sum(poptbl2.population) from poptbl2 where sex =1 and poptbl2.area = '鲤城')else(select sum(poptbl2.population) from poptbl2 where sex =2 and poptbl2.area = '鲤城')end as '鲤城',
casewhensex = 1then(select sum(poptbl2.population) from poptbl2 where sex =1 and poptbl2.area = '鼓楼')else(select sum(poptbl2.population) from poptbl2 where sex =2 and poptbl2.area = '鼓楼')end as '鼓楼',
casewhensex = 1then(select sum(poptbl2.population) from poptbl2 where sex =1 and poptbl2.area = '台江')else(select sum(poptbl2.population) from poptbl2 where sex =2 and poptbl2.area = '台江')end as '台江',
casewhensex = 1then(select sum(poptbl2.population) from poptbl2 where sex =1 and poptbl2.area in( '台江','鼓楼'))else(select sum(poptbl2.population) from poptbl2 where sex =2 and poptbl2.area in( '台江','鼓楼'))end as '福州',
casewhensex = 1then(select sum(poptbl2.population) from poptbl2 where sex =1 and poptbl2.area in( '丰泽','鲤城'))else(select sum(poptbl2.population) from poptbl2 where sex =2 and poptbl2.area in( '丰泽','鲤城'))end as '泉州'
from poptbl2 t
group by (casesexwhen 1 then '男'when 2 then '女'end);

SQL行列转置,汇总再揭相关推荐

  1. sql如何实现明细账_SQL 如何实现动态的行列转置

    Oracle 和新版 Mysql 里有 pivot 实现行列转置,但实际处理数据时,会碰到一些更复杂的转置情况,pivot 也搞不定,比如: 想转置成: 这个难点在于事先不知道有多少种收入来源,而且每 ...

  2. sql 转置_SQL 如何实现动态的行列转置

    Oracle 和新版 Mysql 里有 pivot 实现行列转置,但实际处理数据时,会碰到一些更复杂的转置情况,pivot 也搞不定,比如: 想转置成: 这个难点在于事先不知道有多少种收入来源,而且每 ...

  3. 数据透视表sql:用SQL行列转换实现数据透视的一些思考

    用SQL行列转换实现数据透视的一些思考 摘要:根据对报表开发过程中碰到的需要用SQL行列转换进行解决的一类查询统计问题的分析,逐步探索求解得到一种较通用的解决思路,并用函数进行实现.该解决思路及函数实 ...

  4. 以卖香蕉为例,从4个方面了解SQL的数据汇总

    导读:面对一个新数据集时,人们往往会关心数据中的异常值.数据的分布形式.行列之间的关系等.SQL是一种专为数据计算设计的语言,其中已经内置了许多数据汇总函数,也支持用户编写SQL命令实现更为复杂的汇总 ...

  5. oracle整张表转置,从Oracle表格行列转置说起...

    从Oracle表格行列转置说起... 当你面对如下格式的一个表格:NO为人员的ID,MONEY是收入,DAY是星期(1代表星期一,7代表周日). NO MONEY DAY 1 23 1 1 43 2 ...

  6. SQL 知识点学习汇总,SQL学习这一篇就足够了

    SQL学习知识点汇总 1.SQL是什么? SQL其实是一种编程语言,用于访问和处理数据库的计算机语言 编程语言都有几个特性,有数据类型.可以做运算. 编程语言是为了编程而发明,而程序=数据+算法.所以 ...

  7. SQL行列转换6种方法

    在进行报表开发时,很多时候会遇到行列转换操作,很对开发人员针对于SQL级别行列转换操作一直不甚理解,今天正好抽空对其进行了一些简单的总结.这里主要列举3种可以实现SQL行列转换的方法,包括通用SQL解 ...

  8. Excel-怎样实现行列转置

    有时候,我们为了某些需要,必须把工作表的行列进行转置的方式显示.重新输入很浪费时间,怎样简单的实现转置呢,强大的excel2007提供了此项功能,具体怎么做,下面看我来演示一下. 工具/原料 装有ex ...

  9. SQL语句快速回忆——SQL基础知识点汇总

    文章目录 DDL 建表 约束 已经建了表要添加约束 取消主键PRIMARY约束 外键 FOREIGN KEY 建表时加外键(表2必须已经创建,并且建表时列名已经定义) 已有表添加外键约束 删除外键约束 ...

最新文章

  1. linux java 替换jre_Linux系统 无需JRE配置Java
  2. 理解SetWindowOrg,SetViewportOrg,SetWindowExt,SetViewportExt
  3. JS的parseFloat
  4. MySql 5.7.19 源代码安装 for ubuntu 16.04
  5. 把握人工智能命脉的有效方法
  6. for,foreach,iterator的用法和区别
  7. VMware虚拟机走主机代理
  8. Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系...
  9. php获取数据库的表名和字段名
  10. erp采购总监个人总结_2018计划工作年终总结和2019目标:助理版、经理版、总监版(二)...
  11. 自动布局和view 设置frame同时有效
  12. win10安装ipython_在win10下安装 ipython 5
  13. 什么是Flex布局?
  14. 开心网kaixin001状告kaixin,停用“开心网”名称,赔偿1000万元
  15. 多少层楼听不见街边噪音_街边刮板
  16. RichEdit控件设置默认字体时只对中文起作用,对英文不起作用的解决办法
  17. 什么是jdk的java运行工具_下面( )是 JDK 中的 JAVA 运行工具。
  18. Pr:添加黑边效果的方法
  19. 【Python】京东消费行为数据分析可视化实战案例
  20. postgresql点云las_基于PostgreSQL数据库的大数据点云存储技术应用研究

热门文章

  1. 计算机图形学上机实验一-画出一个钻石
  2. 两大热门技术碰撞 论区块链在物联网中的应用
  3. 解决共享文件夹不显示以及VMware-tools的重装问题
  4. python bind函数_python bind是什么意思
  5. [CORS:跨域资源共享] 同源策略与JSONP
  6. WebRTC[23]-Licode与Mediasoup的简单对比
  7. tf.ones、tf.zeros、tf.ones_like、tf.zeros_like、tf.fill、tf.eye、tf.one_hot、tf.range、tf.linspace函数
  8. Altera Scatter-Gather DMA (SG-DMA)的简单使用
  9. java.sql.SQLSyntaxErrorException: Table 'ph.tbl_user' doesn't exist
  10. CAD中如何识别CAD标高范围?