Excel是数据分析中最常用的工具,本篇文章通过mysql与excel的功能对比介绍如何使用mysql完成excel中的数据生成,数据清洗,预处理,以及最常见的数据分类,数据筛选,分类汇总,以及数据透视等操作。本篇文章我们介绍第5,6,7部分内容,数据提取,数据筛选以及数据汇总及透视。
第五部分是数据提取,也是数据分析中最常见的一个工作。下面介绍每一种函数的使用方法。
按列提取数据
#按列提取 SELECT city FROM data1;
按行提取数据
#按行提取 SELECT * FROM data1 WHERE city='beijing';
按位置提取数据
#按位置提取 SELECT * FROM data1 LIMIT 2,5;
按条件提取数据
#按条件提取并计算 SELECT AVG(price) FROM data1 WHERE city='beijing' AND age<25;
6,数据筛选
第六部分为数据筛选,使用与,或,非三个条件配合大于,小于和等于对数据进行筛选,并进行计数和求和。与excel中的筛选功能和countifs和sumifs功能相似。
按条件筛选(与,或,非)
Excel数据目录下提供了“筛选”功能,用于对数据表按不同的条件进行筛选。mysql中使用WHERE完成筛选操作,配合sum和count函数还能实现excel中sumif和countif函数的功能。
#数据筛选AND SELECT * FROM data1 WHERE city='shanghai' AND age>30;
#数据筛选IN SELECT * FROM data1 WHERE city IN ('shanghai','beijing');
#数据筛选OR SELECT * FROM data1 WHERE city='shanghai' OR age>30;
#数据筛选(不等于) SELECT * FROM data1 WHERE city !='beijing';
#数据筛选like(模糊筛选) SELECT * FROM data1 WHERE city LIKE 'bei%';
#筛选后计数 countif SELECT COUNT(id) AS id_count FROM data1 WHERE city='shanghai'AND age>30;
#筛选后求和 sumtif SELECT SUM(price) AS price FROM data1 WHERE city='beijing' AND age<30;
#筛选后求均值 averageif SELECT AVG(price) AS avg_price FROM data1 WHERE city !='beijing';
7,数据分类汇总及透视
第七部分是对数据进行分类汇总,Excel中使用分类汇总和数据透视可以按特定维度对数据进行汇总,mysql中使用的主要函数是GROUP BY和CASE WHEN。下面分别介绍这两个函数的使用方法。
分类汇总
Excel的数据目录下提供了“分类汇总”功能,可以按指定的字段和汇总方式对数据表进行汇总。mysql中通过GROUP BY完成相应的操作,并可以支持多级分类汇总。
GROUP BY是进行分类汇总的函数,使用方法很简单,制定要分组的列名称就可以,也可以同时制定多个列名称,GROUP BY按列名称出现的顺序进行分组。同时要制定分组后的汇总方式,常见的是计数和求和两种。
#单列分类汇总 SELECT city,COUNT(id) AS id_count FROM data1 GROUP BY city ORDER BY id_count;
#多列分类汇总 SELECT city,colour,ROUND(SUM(price),2) AS id_count FROM data1 GROUP BY city,colour;
数据透视
Excel中的插入目录下提供“数据透视表”功能对数据表按特定维度进行汇总。mysql中没有直接提供数据透视表功能。但通过CASE WHEN函数实现同样的效果。
数据透视表也是常用的一种数据分类汇总方式,并且功能上比GROUP BY要强大一些。下面的代码中设定city为行字段,colour为列字段,price为值字段,计算price金额。
#查看原始数据表 SELECT * FROM data1;
#使用CASE WHEN进行数据透视 CREATE VIEW data_Items AS ( SELECT data1.city, CASE WHEN colour = "A" THEN price END AS A, CASE WHEN colour = "B" THEN price END AS B, CASE WHEN colour = "C" THEN price END AS C, CASE WHEN colour = "F" THEN price END AS F FROM data1 );
#查看结果 SELECT * FROM data_Items;
#对字段进行求和汇总 CREATE VIEW data1_Extended_Pivot AS ( SELECT city, SUM(A) AS A, SUM(B) AS B, SUM(C) AS C, SUM(F) AS F FROM data_Items GROUP BY city );
#查看结果 SELECT * FROM data1_Extended_Pivot;
#对空值进行处理 CREATE VIEW data1_Extended_Pivot_Pretty AS ( SELECT city, COALESCE(A, 0) AS A, COALESCE(B, 0) AS B, COALESCE(C, 0) AS C, COALESCE(F, 0) AS F FROM data1_Extended_Pivot );
#查看数据透视结果 SELECT * FROM data1_Extended_Pivot_Pretty;
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]