《第6周第2次课—汇总数据.ppt》由会员分享,可在线阅读,更多相关《第6周第2次课—汇总数据.ppt(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、IT Education&TrainingDate:09 January 2023高级数据处理主讲人:许雪峰Email:办公地点:C7 二楼 203 计科系IT Education&TrainingDate:09 January 2023第12章 汇总数据IT Education&TrainingDate:09 January 2023本次课主要内容聚集函数聚集不同值组合聚集函数IT Education&TrainingDate:09 January 2023聚集函数作用经常需要汇总数据而不用把它们实际检索出来,为此MySQL提供了专门的函数。使用这些函数,MySQL查询可用于检索数据,以便分
2、析和报表生成什么是聚集函数运行在行组上,计算和返回单个值的函数IT Education&TrainingDate:09 January 2023这种类型的检索类型确定表中行数(或者满足某个条件或包含某个特定值的行数)获得表中行组的和找出表列的最大值(或所有行或某些特定的行)的最大值、最小值和平均值IT Education&TrainingDate:09 January 2023常用的聚集函数 AVG()AVG()返回某列的平均值返回某列的平均值 COUNT()COUNT()返回某列的行数返回某列的行数 MAX()MAX()返回某列的最大值返回某列的最大值 MIN()MIN()返回某列的最小值返
3、回某列的最小值 SUM()SUM()返回某列值之和返回某列值之和IT Education&TrainingDate:09 January 2023AVG()AVG()AVG()通过对表中的行数进行计数并计算特定列值之和,求得该列的平均值AVG()可用于返回所有列的平均值也可以用来返回特定列或行的平均值只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出。为了获得多个平均值,必须使用多个AVG()函数,AVG()函数忽略列值为NULL的行IT Education&TrainingDate:09 January 2023例子求products表中产品的平均价格 求products表中编号为
4、1003产品的平均价格 IT Education&TrainingDate:09 January 2023COUNT()COUNT()用于确定表中行的数目或符合特定条件的行的数目使用方式COUNT(*)对表中行的数目进行计数,不管表列中包含的是NULL值还是非空值COUNT(column)对特定的列中具有值的进行计数,忽略NULL值IT Education&TrainingDate:09 January 2023例子返回customers表中客户的总数只对具有电子邮件地址的客户计数IT Education&TrainingDate:09 January 2023MAX()MAX()返回指定列的
5、最大值,MAX()要求指定列名MySQL中允许MAX()返回任意列中最大值MAX()忽略列值为NULL的行IT Education&TrainingDate:09 January 2023例子检索产品表中价格最高的产品名及价格IT Education&TrainingDate:09 January 2023MIN()MIN()返回指定列的最小值,MIN()要求指定列名MySQL中允许MIN()返回任意列中最小值MIN()忽略列值为NULL的行IT Education&TrainingDate:09 January 2023例子检索产品表中价格最低的产品名及价格IT Education&Trai
6、ningDate:09 January 2023SUM()SUM()返回指定列值的和也可以返回合计计算值忽略列值为NULL的行IT Education&TrainingDate:09 January 2023语句分析SELECT SUM(quantity)AS items_orderedFROM orderitemsWHERE order_num=2005;IT Education&TrainingDate:09 January 2023语句分析(2)SELECT SUM(item_price*quantity)AS total_priceFROM orderitemsWHERE order_
7、num=2005;IT Education&TrainingDate:09 January 2023聚集不同值在MySQL5及后期版本的聚集函数中引入DISTINCT关键字用于只包含不同的值在使用DISTINCT时必须指定列名默认行为是ALLIT Education&TrainingDate:09 January 2023语句分析SELECT AVG(DISTINCT prod_price)AS avg_priceFROM productsWHERE vend_id=1003;IT Education&TrainingDate:09 January 2023组合聚集函数语句分析SELECT COUNT(*)AS num_items,MIN(prod_price)AS price_min,MAX(prod_price)AS price_max,AVG(prod_price)AS price_avgFROM products;IT Education&TrainingDate:09 January 2023实例练习计算样例表中产品的平均价格并显示出来检索出需要付款最多的订单号检索出物品的最大价格、最小价格以及平均价格检索出不同顾客地址的行数检索出产品的最大价格与最小价格之差IT Education&TrainingDate:09 January 2023