SQL行列转置,汇总再揭
初始数据,有区域、性别(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行列转置,汇总再揭相关推荐
- sql如何实现明细账_SQL 如何实现动态的行列转置
Oracle 和新版 Mysql 里有 pivot 实现行列转置,但实际处理数据时,会碰到一些更复杂的转置情况,pivot 也搞不定,比如: 想转置成: 这个难点在于事先不知道有多少种收入来源,而且每 ...
- sql 转置_SQL 如何实现动态的行列转置
Oracle 和新版 Mysql 里有 pivot 实现行列转置,但实际处理数据时,会碰到一些更复杂的转置情况,pivot 也搞不定,比如: 想转置成: 这个难点在于事先不知道有多少种收入来源,而且每 ...
- 数据透视表sql:用SQL行列转换实现数据透视的一些思考
用SQL行列转换实现数据透视的一些思考 摘要:根据对报表开发过程中碰到的需要用SQL行列转换进行解决的一类查询统计问题的分析,逐步探索求解得到一种较通用的解决思路,并用函数进行实现.该解决思路及函数实 ...
- 以卖香蕉为例,从4个方面了解SQL的数据汇总
导读:面对一个新数据集时,人们往往会关心数据中的异常值.数据的分布形式.行列之间的关系等.SQL是一种专为数据计算设计的语言,其中已经内置了许多数据汇总函数,也支持用户编写SQL命令实现更为复杂的汇总 ...
- oracle整张表转置,从Oracle表格行列转置说起...
从Oracle表格行列转置说起... 当你面对如下格式的一个表格:NO为人员的ID,MONEY是收入,DAY是星期(1代表星期一,7代表周日). NO MONEY DAY 1 23 1 1 43 2 ...
- SQL 知识点学习汇总,SQL学习这一篇就足够了
SQL学习知识点汇总 1.SQL是什么? SQL其实是一种编程语言,用于访问和处理数据库的计算机语言 编程语言都有几个特性,有数据类型.可以做运算. 编程语言是为了编程而发明,而程序=数据+算法.所以 ...
- SQL行列转换6种方法
在进行报表开发时,很多时候会遇到行列转换操作,很对开发人员针对于SQL级别行列转换操作一直不甚理解,今天正好抽空对其进行了一些简单的总结.这里主要列举3种可以实现SQL行列转换的方法,包括通用SQL解 ...
- Excel-怎样实现行列转置
有时候,我们为了某些需要,必须把工作表的行列进行转置的方式显示.重新输入很浪费时间,怎样简单的实现转置呢,强大的excel2007提供了此项功能,具体怎么做,下面看我来演示一下. 工具/原料 装有ex ...
- SQL语句快速回忆——SQL基础知识点汇总
文章目录 DDL 建表 约束 已经建了表要添加约束 取消主键PRIMARY约束 外键 FOREIGN KEY 建表时加外键(表2必须已经创建,并且建表时列名已经定义) 已有表添加外键约束 删除外键约束 ...
最新文章
- linux java 替换jre_Linux系统 无需JRE配置Java
- 理解SetWindowOrg,SetViewportOrg,SetWindowExt,SetViewportExt
- JS的parseFloat
- MySql 5.7.19 源代码安装 for ubuntu 16.04
- 把握人工智能命脉的有效方法
- for,foreach,iterator的用法和区别
- VMware虚拟机走主机代理
- Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系...
- php获取数据库的表名和字段名
- erp采购总监个人总结_2018计划工作年终总结和2019目标:助理版、经理版、总监版(二)...
- 自动布局和view 设置frame同时有效
- win10安装ipython_在win10下安装 ipython 5
- 什么是Flex布局?
- 开心网kaixin001状告kaixin,停用“开心网”名称,赔偿1000万元
- 多少层楼听不见街边噪音_街边刮板
- RichEdit控件设置默认字体时只对中文起作用,对英文不起作用的解决办法
- 什么是jdk的java运行工具_下面( )是 JDK 中的 JAVA 运行工具。
- Pr:添加黑边效果的方法
- 【Python】京东消费行为数据分析可视化实战案例
- postgresql点云las_基于PostgreSQL数据库的大数据点云存储技术应用研究
热门文章
- 计算机图形学上机实验一-画出一个钻石
- 两大热门技术碰撞 论区块链在物联网中的应用
- 解决共享文件夹不显示以及VMware-tools的重装问题
- python bind函数_python bind是什么意思
- [CORS:跨域资源共享] 同源策略与JSONP
- WebRTC[23]-Licode与Mediasoup的简单对比
- tf.ones、tf.zeros、tf.ones_like、tf.zeros_like、tf.fill、tf.eye、tf.one_hot、tf.range、tf.linspace函数
- Altera Scatter-Gather DMA (SG-DMA)的简单使用
- java.sql.SQLSyntaxErrorException: Table 'ph.tbl_user' doesn't exist
- CAD中如何识别CAD标高范围?