您现在的位置是:首页 > 学无止境 > PHPPHP
PHP+Mysql实现类似excel的数据透视表功能
小郭2021-08-03 19:08:38【PHP】5352人已围观
简介Mysql中数据分组和数据透视表很像,MySql中的数据分组大家应该都很熟悉了,用的就是 group by。数据透视表是作为一个数据分析师最基本,...
Mysql中数据分组和数据透视表很像,MySql中的数据分组大家应该都很熟悉了,用的就是 group by。数据透视表是作为一个数据分析师最基本,也是使用频率最高的一个功能了,我们可以把明细数据从数据库导出来,然后在 Excel 里面做透视表,也可以直接在数据库里面做透视表,然后将透视结果进行导出。这篇我们来看看MySql中的数据透视表怎么做。
我们还是先看看什么是透视表,其实透视表的核心就是按照行列同时分组,然后对分组后的值进行某种汇总运算。
现在有这么一张表 t,存储的字段如下:
orderid price date area S001 10 2019/1/1 A区 S002 20 2019/1/1 B区 S003 30 2019/1/1 C区 S004 40 2019/1/2 A区 S005 10 2019/1/2 B区 S006 20 2019/1/2 C区 S007 30 2019/1/3 A区 S008 40 2019/1/3 C区
现在我们想看一下每个区域每天的订单量,就是下表这个样子,我们该怎么做呢?
如果要是在 Excel 中做的话就很简单,直接做一个透视表就ok了,把 date 拖到行那个框,将 area 拖到列那个框,将 orderid 拖到值那个框,然后对 orderid 进行计数运算即可。
在Mysql中,如果我们只是看每一天的订单量的话是不是只需要直接按照成交日期进行 group by 就行,Sql 语句如下:
select date ,count(orderid) from t group by date
现在我们想看一下每个区域每天的一个成交情况,那是不是在上面代码的基础上再加一个用来判断区域的一个条件,就可以得出每个区域的情况了。
select date ,count(case when area = "A区" then orderid end) as "A区" ,count(case when area = "B区" then orderid end) as "B区" ,count(case when area = "C区" then orderid end) as "C区" from t group by date
最后结果如下:
A区 B区 C区
2019/1/1 1 1 1
2019/1/2 1 1 0
2019/1/3 1 1 1
当然了,聚合函数不止可以用 count,还可以用别的聚合函数,比如说,我们想看一下每个区域每一天的营业额,就是所有订单的 price 相加。Sql 代码如下:
select ,date ,sum(case when area = "A区" then price else 0 end) as "A区" ,sum(case when area = "B区" then price else 0 end) as "B区" ,sum(case when area = "C区" then price else 0 end) as "C区" from t group by date
最后结果如下:
A区 B区 C区
2019/1/1 10 20 30
2019/1/2 40 10 20
2019/1/3 30 0 40
以上就是PHP+Mysql实现类似excel的数据透视表功能的全部内容!
- 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《小郭博客》。
- 本文网址:http://www.d163.net/html/php/483.html
- 上篇文章:PHP用foreach循环读取json数据的方法【PHP教程】
- 下篇文章:PHPEXCEL导入超过26列时的解决方案
最新发表
标签云 更多
-
SAP(1)
奥运会(1)
短视频(1)
杨倩(1)
提拉米苏(1)
大家财险机动车辆保险(1)
王一博(1)
肖战(1)
苏炳添(1)
刘德华(1)
小鹏汽车(1)
高考(4)
阿里云(1)
HR(1)
邓伦(1)
李莎(1)
杜淳(2)
PHP教程(7)
陈好(1)
playhouse(1)
fopen(1)
山村疯狂(1)
第二书包(0)
69乐园(1)
牡丹江民心网(1)
授课到天亮(1)
天天综合(2)
好人岛(1)
符印巨树(1)
男子汉图库(1)
采花小绵羊(1)
涡卷花束(1)
一方嘉通(1)
李心草(2)
半藏森林不带套(2)
王镁幼(2)
嫦娥五号(3)
周冬雨(1)
黄晓明(1)
金鸡奖获奖名单(3)
网页计数器(2)
成都大学(1)
中科创星(1)
马拉多纳(4)
世界互联网大会(2)
porndao(1)
web前端(6)
网站优化(6)
cookie(2)
session(2)
301重定向(1)
headerlocation(1)
百度站内搜索(1)
爱奇艺(2)
爱奇艺弹幕开关不见了(1)
制作网页教程(4)
刘诗昆(1)
react(1)
linear-gradient(1)
旅游网站建设方案(1)
我爱自学网(2)
诺贝尔(1)
笔记(1)
居里夫人(1)
郭德纲(1)
杨紫(2)
蚂蚁金服上市时间(3)
爱琴海(1)
李连杰(1)
陈佩斯(1)
梁静茹(2)
个人网站模板(0)
个人网站制作(3)
个人网站(3)
网页制作(10)
帝国CMS(6)
百度地图API(2)
伪静态(2)
jizhicms(6)
1024(3)
去除bom(1)
Git(2)
中国人民志愿军(2)
麒麟9000(2)
Mate40(2)
新冠病毒(15)
摩天轮(1)
布达佩斯(1)
div居中(2)
新冠疫苗最新消息(12)
新冠疫苗(6)
昆仑饭店(2)
赵丽颖(6)
正面照(2)
石原里美(2)
店员(1)
理发(2)
十几万(1)
伊能静(1)
京东(4)