已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第4章数据操纵语句,4.9聚合函数4.10GROUPBY子句4.11HAVING子句4.12ROULLUP和CUBE运算符4.13COMPUTE和COMPUTEBY子句,2,4.9聚合(统计)函数,注意:除COUNT(*)外,其他统计函数都不统计列为NULL的记录信息,3,4.9聚合(统计)函数,例1:查询员工表employees中员工的个数。T-SQL语句如下:selectcount(*)fromemployees,注意:count(*)与count(列名)的区别,4,列的数据类型决定使用哪种函数:Count是仅有的能用于text、ntext或image数据类型的列的聚合函数。sum和avg仅能够用在数据类型的列中min和max不可以在bit数据类型的列中使用。,4.9聚合(统计)函数,5,同步任务,同步任务参见实训教程p95页同步任务1,6,4.9聚合(统计)函数,例2:查询products表中所有产品单价的平均值。语句如下:selectavg(unitprice)as平均值fromproducts,7,4.9聚合(统计)函数,例3:查询products表中类别编号categoryid为1的产品的平均单价值和总价格。语句如下:SELECTavg(unitprice)as平均单价值,sum(unitprice)as总价格FROMproductsWHEREcategoryid=1,注意:AVG(列名)函数在运算中不对值为NULL的进行计算,8,同步任务,同步任务参见实训教程p96页同步任务2-1p96页同步任务2-2,9,Groupby子句将查询结果集按一列或多列值分组,分组列值相等的为一组,并对每一组进行统计。语法格式为:GROUPBYALL列名WITHCUBE|ROLLUPHAVING筛选条件表达式,4.10GROUPBY子句,10,USEnorthwindSELECTproductid,orderid,quantityFROMorderdetailsGO,USEnorthwindSELECTproductid,SUM(quantity)AStotal_quantityFROMorderdetailsGROUPBYproductidGO,只对满足WHERE子句的行分组,USEnorthwindSELECTproductid,SUM(quantity)AStotal_quantityFROMorderdetailsWHEREproductid=2GROUPBYproductidGO,示例1,示例2,4.10GROUPBY子句,11,4.10GROUPBY子句,例4:统计“northwind”数据库“orders”表中每个城市的订单总数。T-SQL语句如下:Selectshipcity,count(orderid)as订单总数FromordersGroupbyshipcity,12,4.10GROUPBY子句,例5:查询products表中各种类别categoryid的产品的平均单价值和总价格。语句如下:SELECTcategoryid,avg(unitprice)as平均单价,sum(unitprice)as总价格FROMproductsgroupbycategoryid,13,例6:在“northwind”数据库“orders”表中按年份统计每个城市的订单总数。Selectshipcity,count(orderid)as订单总数,year(orderdate)as订购年份FromordersGroupbyshipcity,year(orderdate)Orderbyshipcity,year(orderdate),4.10GROUPBY子句,14,例7:在“Northwind”数据库“orders”表中统计1998年5月1日以来每个城市的订单总数及运费金额。其代码如下:SELECTshipcity,count(orderid)AS订单总数,sum(freight)AS运货费总数FROMordersWHEREorderdate1998-5-1GROUPBYshipcity如果使用Groupbyall的话,得出的结果将会不一样,其代码如下:SELECTshipcity,count(orderid)AS订单总数,sum(freight)AS运货费总数FROMordersWHEREorderdate1998-5-1GROUPBYALLshipcity,4.10GROUPBY子句,15,同步任务,同步任务参见实训教程p96页同步任务3-1p96页同步任务3-2,16,4.10GROUPBY子句,在使用GROUPBY子句时应注意:SELECT子句后只可以有两类表达式,即统计函数和进行分组的列名没有出现在GROUPBY子句后面的列名不能出现在SELECT子句中,但GROUPBY子句后面的列名可以不出现在SELECT子句如果使用了WHERE子句,那么所有参加分组计算的数据必须首先满足WHERE子句指定的条件默认情况下,GROUPBY子句按指定的列升序排列,17,4.10GROUPBY子句,练习:1、查询EMPLOYEES表中来源于每个城市的员工人数2、查询PRODUCTS表中来源于每个供应商的产品个数3、查询PRODUCTS表中来源于每个供应商每类产品的产品个数,18,例8:统计“northwind”数据库”orders”表中订单数超过20的城市,以及这些城市的总订单数和总运费。T-SQL语句如下:Selectshipcity,count(orderid)as订单总数,sum(freight)as运费总数FromordersGroupbyshipcityHavingcount(orderid)20,4.11HAVING子句,注意:WHERE子句不允许使用统计函数.,19,4.11HAVING子句,例9:查询orderdetails表中销售总数量值超过100的每个订单的订单号,销售总数量值。语句如下:SELECTorderid,sum(quantity)FROMorderdetailsGROUPBYorderidHAVINGsum(quantity)=100,20,同步任务,同步任务参见实训教程p97页同步任务4-1p97页同步任务4-2,21,4.11HAVING子句,例10:查询orderdetails表中定单号=10250的每个订单号,销售总数量值语句如下:SELECTorderid,sum(quantity)FROMorderdetailsWHEREorderid=10250GROUPBYorderid,SELECTorderid,sum(quantity)FROMorderdetailsGROUPBYorderidHAVINGorderid=10250,注意:HAVING子句中的列必须包含在聚合函数或GROUPBY子句中.,22,4.11HAVING子句,例11:查询orderdetails表中产品编号号=7的每个订单号,销售总数量值语句如下:SELECTorderid,sum(quantity)FROMorderdetailsWHEREproductid=7GROUPBYorderid,SELECTorderid,sum(quantity)FROMorderdetailsGROUPBYorderidHAVINGproductid=7,23,4.11HAVING子句,练习:1、查询ORDERDETAILS表中订购总数量超过50的产品编号及订购总数量,24,4.12ROULLUP和CUBE运算符,25,4.12ROULLUP和CUBE运算符,26,同步任务,同步任务参见实训教程p100页同步任务8,27,4.12ROULLUP和CUBE运算符,联合使用GROUPBY子句和ROLLUP操作符,计算组中的汇总值使用GROUPBY子句和ROLLUP操作符时,应注意处理GROUPBY中字段列表的顺序是从右到左,然后对每个组使用聚合函数将在结果集中增加一行,这行将显示总和或平均值之类的汇总值,新增的行以NULL标识,28,4.12ROULLUP和CUBE运算符,29,同步任务,同步任务参见实训教程p99页同步任务7,30,4.13COMPUTE与COMPUTEBY子句,Compute子句可对查询结果集中所有记录进行汇总统计,并显示所有参加汇总记录的详细信息。语法格式为:COMPUTE聚合函数(列名)BY列名,31,4.13COMPUTE和COMPUTEBY子句,32,例12:统计“northwind”数据库”orders”表中还没有发货的订单,以及运费的总数。T-SQL语句如下:Selectorderid,shipcity,freightFromordersWhereshippeddateisnullComputesum(freight),4.13COMPUTE与COMPUTEBY子句,33,例13:在“northwind”数据库”orders”表中按城市统计还没有发货的订单,以及运费的总数。T-SQL语句如下:Selectorderid,shipcity,freightFromordersWhereshippeddateisnullOrderbyshipcitydescComputesum(freight)byshipcity,4.13COMPUTE与COMPUTEBY子句,34,注意:computeby与groupby子句区别在于,前者既显示统计记录又显示详细记录,后者仅显示分组统计的汇总记录。compute子句指定的列要来自select选择列表中。compute
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年智能制造系统故障诊断与维护模拟试卷
- 2026年天津市部编版七年级数学第七章检测卷
- 高中地理选择性必修1第2章第2节地质构造与地貌教学设计
- 高三语文“大联考·天一”试卷讲评与作文升格教学设计
- 统编版道德与法治九年级上册1.2走向共同富裕教学设计
- 初中美术七年级《科技之光》第二课时教学设计
- 初中八年级道德与法治教学设计:践行平等的交互式课堂建构与实践
- 大连理工版初中心理健康九年级《走近父母》教学设计
- 2026届九年级语文一轮复习必背古诗文默写教学设计
- 八年级英语写作高级词句教学设计:食物制作步骤与表达方法
- 2026年高考全国1卷语文高考试题(原卷版)
- WS+271-2026+感染性腹泻诊断标准
- 2026年水生生物病害防治员专项题库(附答案与解释)
- 2026-2030中国自动化细胞成像系统行业市场发展趋势与前景展望战略研究报告
- 2026年演出经纪人思想政治与法律基础真题回忆版
- 高考作文递进式结构写作范文
- 余热发电施工方案(3篇)
- GB 9745-2025航空轮胎
- mdsap培训教学课件
- 英雄屹立喀喇昆仑课件
- 《花季护航守护成长》青春期女生教育讲座+初中心理健康
评论
0/150
提交评论