《Linux操作系统》课件-聚合函数与分组统计_第1页
《Linux操作系统》课件-聚合函数与分组统计_第2页
《Linux操作系统》课件-聚合函数与分组统计_第3页
《Linux操作系统》课件-聚合函数与分组统计_第4页
《Linux操作系统》课件-聚合函数与分组统计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

聚合函数与分组统计数据分析的利器聚合函数COUNT,SUM,AVG

MAX,MIN核心函数分组统计GROUPBY子句应用

实现数据的分类汇总分组筛选HAVING子句的应用

对分组结果进行过滤综合应用结合WHERE过滤源数据

GROUPBY+HAVING分析提示:灵活组合使用聚合函数、GROUPBY与HAVING子句,是实现复杂业务数据统计与分析的关键技能。目录01引言:为什么需要数据统计?02聚合函数:COUNT,SUM,AVG,MAX,MIN03分组统计:GROUPBY子句详解04分组筛选:HAVING子句详解05综合应用:WHERE,GROUPBY,HAVING的结合使用06实战演练:综合统计查询引言:为什么需要数据统计?从细节到宏观的跨越查询获取具体记录(如某人薪水),而统计则是对数据进行汇总(如平均薪资),实现从微观细节到宏观全貌的洞察。数据统计的核心价值通过统计数据洞察业务状况;为管理层决策提供科学依据;同时也是生成各类业务分析报表的数据基础。本章节核心学习目标掌握聚合函数、分组统计(GROUPBY)及条件筛选(HAVING),具备编写复杂统计查询的能力。统计思维与技能01.建立“宏观统计”思维摆脱只关注单条数据的局限,学会从海量的细节记录中提炼出有价值的汇总信息,这是进行业务分析的前提。02.掌握SQL统计核心语法重点掌握COUNT、SUM、AVG等聚合函数,熟练运用GROUPBY进行分组,并能区分HAVING与WHERE的筛选逻辑,实现复杂的统计需求。提示:数据统计不仅仅是技术操作,更是一种将原始数据转化为业务洞察力的思维方式,是数据驱动决策的基石。核心语法:聚合函数与GROUPBY常用聚合函数COUNT:统计非NULL值的数量SUM/AVG:计算数值列的总和/平均值MAX/MIN:找出列中的最大/最小值分组与筛选逻辑GROUPBY:按指定列对结果集进行分组,配合聚合函数使用。HAVING:在分组之后对结果进行过滤,可使用聚合函数。标准SQL语法结构SELECTcolumn1,AGG_FUNC(column2)FROMtable_nameWHEREcondition--分组前筛选GROUPBYcolumn1HAVINGagg_condition;--分组后筛选关键知识点总结SQL执行顺序WHERE→GROUPBY

→HAVING→SELECT核心业务场景各类统计报表生成

数据的分组汇总分析常见易错点WHERE中不能使用聚合函数

SELECT列需出现在GROUPBY中示例1:使用聚合函数计算总行数(COUNT)SELECTCOUNT(*)AStotal_employees

FROMemployees;返回员工总数。COUNT(*)会计算所有行数,包括含有NULL值的记录。计算总和与平均值(SUM/AVG)SELECTSUM(salary)AStotal_salary,

AVG(salary)ASaverage_salary

FROMemployees;聚合所有数值型字段。返回所有员工的薪水总和(SUM)以及平均薪水(AVG)。找出极值:最大与最小值(MAX/MIN)SELECTMAX(salary)ASmax_salary,

MIN(salary)ASmin_salary

FROMemployees;从指定列中筛选出极值。返回表中MAX(salary)最高薪水与MIN(salary)最低薪水,常用于数据分析对比。示例2:使用GROUPBY分组统计📝核心SQL实现SELECTdept,COUNT(*)ASemp_cnt,AVG(sal)ASavg_salFROMemployeesGROUPBYdepartment;📊统计结果解析将员工表按部门列分组,对每组独立计算:①COUNT(*)统计组内员工总数②AVG(salary)计算组内平均薪资⚠️核心语法规则(必知)SELECT子句中出现的非聚合列,必须出现在GROUPBY子句中。🔍执行逻辑拆解数据分组的"流水线"过程1.先筛选:根据FROM找到数据源表2.后分组:按照指定列(如部门)将行打包3.再计算:对每个"数据包"应用聚合函数求值💡业务应用场景常见的BI报表统计需求•统计各地区/各部门的销售总额、订单数•计算不同产品类别的平均好评率、退货率•按日期(天/月/年)汇总用户新增趋势GROUPBY是SQL中实现"分类汇总"最核心、最常用的子句。示例3:使用HAVING筛选分组结果SQL实现代码SELECTdepartment,COUNT(*)ASemp_cnt

FROMemployees

GROUPBYdepartment

HAVINGCOUNT(*)>1;关键区别对比WHERE:分组前筛选行,

不可使用聚合函数。HAVING:分组后筛选组,

可使用聚合函数作为条件。执行逻辑与结果解析执行三部曲:1.按`department`字段将所有员工记录分组;

2.对每个分组计算聚合函数`COUNT(*)`得到员工数量;

3.过滤掉数量≤1的组,仅保留符合条件的数据。最终返回:公司中所有员工数量大于1的部门名称及其对应的员工总数。核心应用场景当我们需要对分组之后的结果集进行过滤时,必须使用`HAVING`子句。它通常与`GROUPBY`配合使用,能够基于聚合函数的计算结果(如总和、平均值、计数)来筛选出符合业务需求的数据组。示例4:结合WHERE和HAVINGSQL核心查询语句示例SELECTdepartment,AVG(salary)ASavg_salFROMemployeesWHEREhire_date>'2023-01-01'GROUPBYdepartmentHAVINGAVG(salary)>7000;语句执行顺序逻辑解析1.WHERE:先筛选出2023年1月1日后入职的员工行数据。2.GROUPBY:将筛选后的结果按部门(Department)字段进行分组。3.HAVING:最后筛选出平均薪水大于7000的部门分组。核心子句功能拆解01.WHERE行级过滤针对原始数据表的行进行筛选,只保留满足“2023年后入职”条件的记录。02.GROUPBY分组聚合对WHERE过滤后的数据集,按部门字段进行归类,并计算每个组的平均薪资。03.HAVING组级过滤对分组聚合后的结果集进行二次筛选,仅保留平均薪资大于7000的部门组。04.组合使用的优势先缩小范围再聚合统计,避免对全表进行聚合运算,有效提升查询效率。执行顺序铁律(不可颠倒)WHERE→GROUPBY→HAVING核心区别关键点WHERE过滤“行”,HAVING过滤“聚合结果”开发易错点警示HAVING子句必须配合GROUPBY使用常见错误与注意事项❌错误01:SELECT列未在GROUPBY中SELECTdepartment,name,COUNT(*)FROMemployeesGROUPBYdepartment;原因:`name`列既非聚合函数也未出现在`GROUPBY`中,数据库无法确定显示逻辑。❌错误02:WHERE子句中使用聚合函数SELECTdepartmentFROMemployeesWHEREAVG(salary)>7000GROUPBYdepartment;原因:`WHERE`在分组前执行,无法识别聚合函数。应使用`HAVING`子句筛选分组结果。💡核心提示:分组查询的核心是“逻辑闭环”,非聚合列必须在分组条件中定义,筛选条件需注意执行阶段。🔍SQL语句执行顺序(重点)1.FROM→2.WHERE(行级过滤)→3.GROUPBY(分组)4.HAVING(组级过滤)→5.SELECT→6.ORDERBY📋别名使用规则限制❌WHERE中:不可使用SELECT中定义的别名(执行顺序在前)✅HAVING中:可以使用SELECT中定义的别名(执行顺序在后)例:HAVINGavg_sal>7000(avg_sal是SELECT中的别名)牢记执行顺序是编写正确分组查询的基础,区分WHERE与HAVING的使用场景是避免错误的关键。实战演练:聚合与分组统计任务清单请基于员工薪资表,编写SQL语句完成以下统计任务:统计每个部门的最高薪水和最低薪水。筛选2023年入职员工,按部门分组后,查询平均薪水>8000的部门信息。统计各部门员工数,仅展示人数≥2的部门,并按人数降序排列。SQLTerminal—Aggregation--TASK1:MAX()与MIN()聚合函数SELECTdept,MAX(salary),MIN(salary)FROMempGROUPBYdept;--TASK2:WHERE行筛选+HAVING组筛选SELECTdept,AVG(salary)FROMempWHEREhire_year=2023GROUPBYdeptHAVINGAVG(salary)>8000;--TASK3:COUNT()统计+排序SELECTdept,COUNT(id)ASnumFROMempGROUPBYdeptHAVINGnum>=2ORDERBYnumDESC;Tips:聚合函数(MAX/MIN/AVG/COUNT)通常配合GROUPBY使用。对分组后的结果进行二次筛选需用HAVING(放在GROUPBY之后),而对行数据的筛选使用WHERE(放在GROUPBY之前)。总结与回顾聚合函数用于对数据进行汇总计算:

COUNT,SUM,AVG,MAX,MIN。GR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论