第6章分组函数报告.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章分组函数报告

COUNT函数 COUNT函数的主要功能是返回每组记录的条数。 COUNT({*|[DISTINCT|ALL]表达式}) 例6-5 公司IT_PROG职位的员工人数的示例。 例6-6 公司有部门员工人数的示例。 SELECT COUNT(*) FROM employees WHERE job_id=IT_PROG; SELECT COUNT(department_id) FROM employees; 组函数中DISTINCT DISTINCT会消除重复记录后再使用组函数 例6-7 公司有员工部门数的示例。 SELECT COUNT(DISTINCT department_id) FROM employees; 组函数中空值处理 所有组函数对空值都是忽略的。 例6-8 员工平均奖金的示例——忽略空值。 例6-9 员工平均奖金的示例——空值转化。 SELECT AVG(commission_pct) FROM employees; SELECT AVG(NVL(commission_pct,0)) FROM employees; GROUP BY子句 组函数忽略空值,可以使用NVL,NVL2,COALESCE 函数处理空值 结果集隐式按升序排列,如果需要改变排序方式可以使用Order by 子句 SELECT 列名, 组函数(列名) FROM 表名 [WHERE 条件] [GROUP BY 分组列] [ORDER BY 列名]; GROUP BY子句示例 例6-10 每个部门的总工资。 例6-11 相同职位且经理相同的员工平均工资。 SELECT department_id, SUM(salary) FROM employees GROUP BY department_id ; SELECT job_id,manager_id, AVG(salary) FROM employees GROUP BY job_id,manager_id ORDER BY job_id; GROUP BY子句注意问题 在GROUP BY子句使用中,有两点需要注意: GROUP BY子句后的列可以不在SELECT语句中出现。 SELECT子句中出现的非分组函数列必须在GROUP BY子句中出现。 例6-12 公司每个职位的平价工资,职位列不显示,同时结果按照平均工资排序。 SELECT AVG(salary) FROM employees GROUP BY job_id ORDER BY AVG(salary); GROUP BY子句注意问题示例 例6-13 分组汇总错误示例 例6-14 分组汇总正确示例 SELECT department_id, job_id, AVG(salary) FROM employees GROUP BY department_id; SELECT department_id, job_id, AVG(salary) FROM employees GROUP BY department_id,job_id; HAVING子句 例6-15 组函数筛选示例。 原因是Oracle查询语句的执行顺序是: FROM WHERE GROUP BY SELECT ORDER BY SELECT job_id, MAX(salary) FROM employees WHERE MAX(salary)=9000 GROUP BY job_id; HAVING子句 语法结构如下: SELECT 列名, 组函数 FROM 表名 [WHERE 条件] [GROUP BY 分组列] [HAVING 组函数表达式] [ORDER BY 列名]; 3 Sept. 2014 Confidential 3 Sept. 2008 ? Neusoft Confidential * * 1、内容简介 本章介绍多行函数--组函数。本课主要讲解组函数的用法,课程中还将讨论怎样聚合表中的行到较小的集合中,怎样指定用于行聚合的搜索条件。 2、内容重点及难点 3、授课方法 PPT教学+上机练习+学员练习点评 * * 分组函数不同于单行函数,组函数对一个数据行的集合进行操作,并按组返回一个结果。这个集合可以是整个表或者是一个表分成了几组。 * * * * COUNT函数有两种形式: COUNT(*) COUNT(expr) COUNT(*)返回表中行的总数,包括重复行和数据列中含有空值的行。如果在SELECT语句中使用了WHERE子句,COUNT(*) 则返回符合WHERE条件的记录的总数。 与此相反,COUNT

文档评论(0)

ee88870 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档