组函数和分组统计课件.pptVIP

  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文档。上传文档
查看更多
技术要点 组函数 组函数可以对一组数据进行操作,最后返回一个值。组数据可以是表中的所有数据或者将表中的数据按照某种规则分成若干组,甚至可以在组内再次划分成多个小组。例如:对于高层次管理人员来说他可能并不关心某个员工的薪资,而更注重某个部门的平均薪资。 不同与单行函数,组函数对记录的集合进行操作,并按组返回一个结果。 常用组函数 分组函数用于统计表数据 MAX 适用任何数据类型 MIN 适用任何数据类型 AVG 只能用于数字 SUM 只能用于数字 COUNT 计算总行数 使用组函数 计算从事销售工作的雇员的平均工资、最高工资、最低工资及工资总额 SELECT AVG(sal),MAX(sal),MIN(sal),SUM(sal) FROM emp WHERE job LIKE UPPER(sales%); MAX和MIN函数 查看受雇最短雇员与最长雇员的受雇时间 SELECT MAX(hiredate) ,MIN(hiredate) FROM emp; 对字符型数据使用MAX、MIN函数 SELECT MIN(ename),MAX(ename) FROM emp; COUNT COUNT(*)返回表中记录的总数,包括重复记录和数据列中包含有空值的行 COUNT(expr)返回用expr标识的列所含的非空行的数量 显示在30部门工作的员工的数量 SELECT COUNT(*) FROM emp WHERE deptno=30; 统计在30部门工作能获得奖金的雇员数 SELECT COUNT(comm) FROM emp WHERE deptno=30; AVG函数 30部门总人数 SELECT COUNT(*) FROM emp WHERE deptno=30; 计算30部门获得奖金的雇员的平均奖金 SELECT AVG(comm) FROM emp WHERE deptno=30; 计算30部门雇员的平均奖金 SELECT TRUNC(AVG(NVL(comm,0)),0) FROM emp WHERE deptno=30; 用GROUP BY 创建数据组 按雇员所在部门统计各部门内雇员的平均工资 SELECT deptno,AVG(sal) FROM emp GROUP BY deptno; 按所在部门及从事的工作分组统计平均工资 SELECT deptno,job,avg(sal) FROM emp GROUP BY deptno,job; 使用组函数的非法查询 SELECT deptno,Count(ename) FROM emp; 输出平均工资高于2000的部门 SELECT deptno,AVG(sal) FROM emp WHERE AVG(sal)2000 GROUP BY deptno; HAVING子句的使用 输出平均工资高于2000的部门 SELECT deptno,AVG(sal) FROM emp GROUP BY deptno HAVING AVG(sal)2000; HAVING子句执行步骤 当使用HAVING子句时,Oracle服务器是按以下步骤执行 对记录进行分组 在分组的基础上应用组函数 与HAVING子句匹配的组被输出 1、显示非销售人员工作名称以及从事同一工作雇员的月工资总和,并且满足从事同一工作的雇员的月工资合计大于5000,输出结果按月工资的合计升序排序 SELECT job,SUM(sal) PAYROLL FROM emp WHERE job NOT LIKE UPPER(sales%) GROUP BY job HAVING SUM(sal)5000 ORDER BY SUM(sal); 使用分组函数的注意事项 分组函数只能出现在选择列表、HAVING子句、ORDER BY子句中 在查询列表中出现的列没有在分组函数中出现的话,就必须在GROUP BY中出现 分组结果限制只能使用HAVING 组函数的嵌套 显示部门平均工资的最低值 SELECT MIN(AVG(sal)) FROM emp GROUP BY deptno; 技术回顾 1.掌握分组函数的用法 2.学会GROUP BY的用法 北 京 维 信 科 技 有 限 公 司 Company LOGO Java EE高级工程师实训系列技

文档评论(0)

三四五 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档