第07章_数据库分组查询及分组函数

第07章_数据库分组查询及分组函数

ID:40268081

大小:2.34 MB

页数:21页

时间:2019-07-29

第07章_数据库分组查询及分组函数_第1页
第07章_数据库分组查询及分组函数_第2页
第07章_数据库分组查询及分组函数_第3页
第07章_数据库分组查询及分组函数_第4页
第07章_数据库分组查询及分组函数_第5页
资源描述:

《第07章_数据库分组查询及分组函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第七章分组查询及分组函数本章主要内容7.1前言需要分组的情况。7.2分组函数掌握概念与运用。7.3分组查询掌握概念与运用。7.4总结目标通过本章学习了解组函数描述组函数的用途使用GROUPBY字句数据分组使用HAVING字句过滤分组结果集7.1前言用户需要统计数据的结果的时候,多数会用到分组函数及分组查询的方式。SUM:SUM([{DISTINCT

2、ALL}])求和SELECTSUM(score)FROMtbl_scoreinfoWHEREclassno='001'SELECTSUM(score),stun

3、oFROMtbl_scoreinfoWHEREclassno='001'AVGSELECTAVG(SCore)AS平均成绩Fromtbl_scoreWHEREScore>=60代码错误7.2分组函数DISTINCT:只对不同的求总和,相同只取一个ALL:表示对所有求总和MAX、MINSELECTAVG(score)AS平均成绩,MAX(score)AS最高分,MIN(score)AS最低分Fromtbl_scoreinfoWHEREscore>=60COUNTSELECTCOUNT(*)AS及格人数From

4、tbl_scoreinfoWHEREscore>=60第一门课4个成绩取平均值第二门课4个成绩取平均值第三门课6个成绩取平均值7.3分组查询SELECTclassno,AVG(Score)AS课程平均成绩FROMtbl_scoreinfoGROUPBYclassno按照省份分类,计算总数SELECTCOUNT(*)FROMTBL_CUSTOMERGROUPBYSTATE;如果在按省份分类的基础上在加上按实例分类,计算总数分组查询—多列分组SELECTCOUNT(*),STATE,CITYFROMTBL_CU

5、STOMERGROUPBYSTATE,CITY;SELECTcolumn,group_functionFROMtable[WHEREcondition][GROUPBYgroup_by_expression][HAVINGgroup_condition][ORDERBYcolumn];过滤分组:HAVING子句使用HAVING过滤分组:1.行已经被分组。2.使用了组函数。3.满足HAVING子句中条件的分组将被显示。分组查询—HAVINGSELECTclassnoAS课程编号,AVG(score)AS测试平

6、均成绩FROMtbl_scoreinfoGROUPBYclassnoHAVINGAVG(Score)>70;SELECTPUBID,SUM(COST)FROMTBL_BOOKSWHEREPUBID<>4GROUPBYPUBIDHAVINGSUM(COST)>40ORDERBYPUBID;SELECTPUBID,SUM(COST)FROMTBL_BOOKSWHERECATEGORYLIKE'%计%'GROUPBYPUBIDHAVINGSUM(COST)>40ORDERBYPUBID;HAVING子句分组查询—

7、对比WHEREGROUPBYHAVINGWHERE子句从数据源中去掉不符合其搜索条件的数据GROUPBY子句搜集数据行到各个组中,统计函数为各个组计算统计值HAVING子句去掉不符合其组搜索条件的各组数据行SELECTAVG(NVL(score,0))FROMTBL_SCOREINFO;在组函数中使用NVL函数NVL函数使分组函数无法忽略空值。非法使用组函数所有包含于SELECT列表中,而未包含于组函数中的列都必须包含于GROUPBY子句中。SELECTCLASSNO,AVG(NVL(SCORE,0))FR

8、OMTBL_SCOREINFO代码错误GROUPBY子句中缺少列非法使用组函数不能在WHERE子句中使用组函数。可以在HAVING子句中使用组函数。SELECTclassno,AVG(score)FROMtbl_scoreinfoWHEREAVG(score)>70GROUPclassno;代码错误WHERE子句中不能使用组函数嵌套组函数显示平均分数的最大值SELECTMAX(AVG(score))FROMtbl_scoreinfoGROUPBYclassno;代码错误组函数不能嵌套使用7.4总结对于AVG

9、,SUM函数只用于数字字段。COUNT,MAX,MIN函数可用于任何数据类型。AVG,SUM,MAX,MIN函数全部忽略NULL值。COUNT(*)计算包含NULL值的记录。除非使用NVL函数进行协助。GROUPBY子句用来对表数据进行分组。而且检索子句包含一个单独的字段名称和一个组函数,字段名称还必须包括在GROUPBY子句中。HAVING子句用来限制组函数中的组(与WHERE的功能类似)。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。