加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

了解下通过mysql实现excel中的数据生成

发布时间:2023-10-21 15:48:51 所属栏目:MySql教程 来源:
导读:下面一起来了解下通过mysql实现excel中的数据生成,相信大家看完肯定会受益匪浅,文字在精不在多,希望通过mysql实现excel中的数据生成这篇短内容是你想要的。
下面一起来了解下通过mysql实现excel中的数据生成,相信大家看完肯定会受益匪浅,文字在精不在多,希望通过mysql实现excel中的数据生成这篇短内容是你想要的。                                                      
 
数据提取
 
第五部分是数据提取,也是数据分析中最常见的一个工作。下面介绍每一种函数的使用方法。
 
按列提取数据
 
#按列提取 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;
 
复制代码
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章