excel使用MySQL数据_如何使用mysql完成excel中的数据生成

Excel是数据分析中最常用的工具,本篇文章通过mysql与excel的功能对比介绍如何使用mysql完成excel中的数据生成,数据清洗,预处理,以及最常见的数据分类,数据筛选,分类汇总,以及数据透视等操作。本篇文章我们介绍第5,6,7部分内容,数据提取,数据筛选以及数据汇总及透视。

201711060845501.jpg 5,数据提取

第五部分是数据提取,也是数据分析中最常见的一个工作。下面介绍每一种函数的使用方法。

按列提取数据

#按列提取 SELECT city FROM data1;

201711060845515.jpg

按行提取数据

#按行提取

SELECT * FROM data1 WHERE city='beijing';

201711060845516.jpg

按位置提取数据

#按位置提取

SELECT * FROM data1 LIMIT 2,5;

201711060845517.jpg

按条件提取数据

#按条件提取并计算

SELECT AVG(price) FROM data1 WHERE city='beijing' AND age<25;

201711060845518.jpg

6,数据筛选

第六部分为数据筛选,使用与,或,非三个条件配合大于,小于和等于对数据进行筛选,并进行计数和求和。与excel中的筛选功能和countifs和sumifs功能相似。

按条件筛选(与,或,非)

Excel数据目录下提供了“筛选”功能,用于对数据表按不同的条件进行筛选。mysql中使用WHERE完成筛选操作,配合sum和count函数还能实现excel中sumif和countif函数的功能。

201711060845519.png

#数据筛选AND

SELECT * FROM data1 WHERE city='shanghai' AND age>30;

2017110608455110.jpg

#数据筛选IN

SELECT * FROM data1 WHERE city IN ('shanghai','beijing');

2017110608455111.jpg

#数据筛选OR

SELECT * FROM data1 WHERE city='shanghai' OR age>30;

2017110608455112.jpg

#数据筛选(不等于)

SELECT * FROM data1 WHERE city !='beijing';

2017110608455113.jpg

#数据筛选like(模糊筛选)

SELECT * FROM data1 WHERE city LIKE 'bei%';

2017110608455214.jpg

#筛选后计数 countif

SELECT COUNT(id) AS id_count FROM data1 WHERE city='shanghai'AND age>30;

2017110608455215.jpg

#筛选后求和 sumtif

SELECT SUM(price) AS price FROM data1 WHERE city='beijing' AND age<30;

2017110608455216.jpg

#筛选后求均值 averageif

SELECT AVG(price) AS avg_price FROM data1 WHERE city !='beijing';

2017110608455217.jpg

7,数据分类汇总及透视

第七部分是对数据进行分类汇总,Excel中使用分类汇总和数据透视可以按特定维度对数据进行汇总,mysql中使用的主要函数是GROUP BY和CASE WHEN。下面分别介绍这两个函数的使用方法。

分类汇总

Excel的数据目录下提供了“分类汇总”功能,可以按指定的字段和汇总方式对数据表进行汇总。mysql中通过GROUP BY完成相应的操作,并可以支持多级分类汇总。

2017110608455218.png

GROUP BY是进行分类汇总的函数,使用方法很简单,制定要分组的列名称就可以,也可以同时制定多个列名称,GROUP BY按列名称出现的顺序进行分组。同时要制定分组后的汇总方式,常见的是计数和求和两种。

#单列分类汇总

SELECT city,COUNT(id) AS id_count FROM data1 GROUP BY city ORDER BY id_count;

2017110608455219.jpg

#多列分类汇总

SELECT city,colour,ROUND(SUM(price),2) AS id_count FROM data1 GROUP BY city,colour;

2017110608455220.jpg

数据透视

Excel中的插入目录下提供“数据透视表”功能对数据表按特定维度进行汇总。mysql中没有直接提供数据透视表功能。但通过CASE WHEN函数实现同样的效果。

2017110608455321.png

数据透视表也是常用的一种数据分类汇总方式,并且功能上比GROUP BY要强大一些。下面的代码中设定city为行字段,colour为列字段,price为值字段,计算price金额。

#查看原始数据表

SELECT * FROM data1;

2017110608455322.jpg

#使用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;

2017110608455323.jpg

#对字段进行求和汇总

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;

2017110608455324.jpg

#对空值进行处理

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;

2017110608455325.jpg

本文标题: 如何使用mysql完成excel中的数据生成

本文地址: http://www.cppcns.com/shujuku/mysql/209963.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值