您現在的位置是:首頁 > 學無止境 > PHPPHP
PHP+Mysql實現類似excel的數據透視表功能
小郭2021-08-03 19:08:38【PHP】2316人已圍觀
簡介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.guestpostingtalk.com/html/php/483.html
- 上篇文章:PHP用foreach循環讀取json數據的方法【PHP教程】
- 下篇文章:PHPEXCEL導入超過26列時的解決方案
最新發表
標簽云 更多
-
短視頻(1)
楊倩(1)
提拉米蘇(1)
大家財險機動車輛保險(1)
王一博(1)
肖戰(1)
蘇炳添(1)
劉德華(1)
小鵬汽車(1)
高考(3)
阿里云(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)
sublimeText(1)
dreamweaver(1)