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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第07章节_数据库 分组查询及分组函数

7.1 前言 用户需要统计数据的结果的时候,多数会用到分组函数及分组查询的方式。 7.2 分组函数 分组查询—多列分组 分组查询—HAVING 分组查询—对比 7.4 总结 对于AVG,SUM函数只用于数字字段。 COUNT,MAX,MIN函数可用于任何数据类型。 AVG,SUM,MAX,MIN函数全部忽略NULL值。 COUNT(*)计算包含NULL值的记录。除非使用NVL函数进行协助。 GROUP BY 子句用来对表数据进行分组。而且检索子句包含一个单独的字段名称和一个组函数,字段名称还必须包括在GROUP BY子句中。 HAVING子句用来限制组函数中的组(与WHERE的功能类似)。 第七章 分组查询及分组函数 本章主要内容 7.1 前言 需要分组的情况。 7.2 分组函数 掌握概念与运用。 7.3 分组查询 掌握概念与运用。 7.4 总结 目标 通过本章学习 了解组函数 描述组函数的用途 使用GROUP BY 字句数据分组 使用HAVING 字句过滤分组结果集 SUM: SUM( [ { DISTINCT | ALL}] ) 求和 SELECT SUM(score) FROM tbl_scoreinfo WHERE classno = 001 SELECT SUM(score), stuno FROM tbl_scoreinfo WHERE classno = 001 AVG SELECT AVG(SCore) AS 平均成绩 From tbl_score WHERE Score =60 代码错误 DISTINCT:只对不同的求总和,相同只取一个 ALL:表示对所有求总和 MAX、MIN SELECT AVG(score) AS 平均成绩, MAX (score) AS 最高分, MIN (score) AS 最低分 From tbl_scoreinfo WHERE score =60 COUNT SELECT COUNT (*) AS 及格人数 From tbl_scoreinfo WHERE score=60 第一门课4个成绩取平均值 第二门课4个成绩取平均值 第三门课6个成绩取平均值 7.3 分组查询 SELECT classno, AVG(Score) AS 课程平均成绩 FROM tbl_scoreinfo GROUP BY classno 按照省份分类,计算总数 SELECT COUNT(*) FROM TBL_CUSTOMER GROUP BY STATE; 如果在按省份分类的基础上在加上按实例分类,计算总数 SELECT COUNT(*),STATE,CITY FROM TBL_CUSTOMER GROUP BY STATE,CITY; SELECT column, group_function FROM table [WHERE condition] [GROUP BY group_by_expression] [HAVING group_condition] [ORDER BY column]; 过滤分组: HAVING 子句 使用 HAVING 过滤分组: 1. 行已经被分组。 2. 使用了组函数。 3. 满足HAVING 子句中条件的分组将被显示。 SELECT classno AS 课程编号, AVG(score) AS 测试平均成绩 FROM tbl_scoreinfo GROUP BY classno HAVING AVG(Score)70; SELECT PUBID,SUM(COST) FROM TBL_BOOKS WHERE PUBID 4 GROUP BY PUBID HAVING SUM(COST) 40 ORDER BY PUBID; SELECT PUBID,SUM(COST) FROM TBL_BOOKS WHERE CATEGORY LIKE %计% GROUP BY PUBID HAVING SUM(COST) 40 ORDER BY PUBID; HAVING 子句 WHERE GROUP BY HAVING WHERE子句从数据源中去掉不符合其搜索条件的数据 GROUP BY子句搜集数据行到各个组中,统计函数为各个组计算统计值 HAVING子句去掉不符合其组搜索条件的各组数据行 SELECT AVG(NVL(score, 0)) FROM TBL_SCOREINFO; 在组函数中使用NVL函数 NVL函数使分组函数无法忽略空值。 非法使用组函数 所有包含于SELECT 列表中,而未包含于组函数中的列

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档