Oracle公司内部数据库培训资料Les05_chinese.ppt

Oracle公司内部数据库培训资料Les05_chinese.ppt

ID:50360224

大小:301.50 KB

页数:29页

时间:2020-03-12

Oracle公司内部数据库培训资料Les05_chinese.ppt_第1页
Oracle公司内部数据库培训资料Les05_chinese.ppt_第2页
Oracle公司内部数据库培训资料Les05_chinese.ppt_第3页
Oracle公司内部数据库培训资料Les05_chinese.ppt_第4页
Oracle公司内部数据库培训资料Les05_chinese.ppt_第5页
资源描述:

《Oracle公司内部数据库培训资料Les05_chinese.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、分组函数目标通过本章学习,您将可以:了解组函数。描述组函数的用途。使用GROUPBY字句数据分组。使用HAVING字句过滤分组结果集。什么是分组函数分组函数作用于一组数据,并对一组数据返回一个值。EMPLOYEES表EMPLOYEES中的工资最大值…组函数类型AVGCOUNTMAXMINSTDDEVSUMSELECT[column,]group_function(column),...FROMtable[WHEREcondition][GROUPBYcolumn][ORDERBYcolumn];组函数语法SELECTAVG(salary),MAX(sa

2、lary),MIN(salary),SUM(salary)FROMemployeesWHEREjob_idLIKE'%REP%';AVG(平均值)和SUM(合计)函数可以对数值型数据使用AVG和SUM函数。MIN(最小值)和MAX(最大值)函数可以对任意数据类型的数据使用MIN和MAX函数。SELECTMIN(hire_date),MAX(hire_date)FROMemployees;SELECTCOUNT(*)FROMemployeesWHEREdepartment_id=50;COUNT(计数)函数COUNT(*)返回表中记录总数。COUNT(计

3、数)函数COUNT(expr)返回expr不为空的记录总数。SELECTCOUNT(commission_pct)FROMemployeesWHEREdepartment_id=80;SELECTCOUNT(DISTINCTdepartment_id)FROMemployees;DISTINCT关键字COUNT(DISTINCTexpr)返回expr非空且不重复的记录总数SELECTAVG(commission_pct)FROMemployees;组函数与空值组函数忽略空值。SELECTAVG(NVL(commission_pct,0))FROMemp

4、loyees;在组函数中使用NVL函数NVL函数使分组函数无法忽略空值。分组数据EMPLOYEES求出EMPLOYEES表中各部门的平均工资4400…95003500640010033SELECTcolumn,group_function(column)FROMtable[WHEREcondition][GROUPBYgroup_by_expression][ORDERBYcolumn];分组数据:GROUPBY子句语法可以使用GROUPBY子句将表中的数据分成若干组SELECTdepartment_id,AVG(salary)FROMemployee

5、sGROUPBYdepartment_id;GROUPBY子句在SELECT列表中所有未包含在组函数中的列都应该包含在GROUPBY子句中。GROUPBY子句包含在GROUPBY子句中的列不必包含在SELECT列表中。SELECTAVG(salary)FROMemployeesGROUPBYdepartment_id;使用多个列分组EMPLOYEES使用多个列进行分组…SELECTdepartment_iddept_id,job_id,SUM(salary)FROMemployeesGROUPBYdepartment_id,job_id;在GROUPB

6、Y子句中包含多个列非法使用组函数所用包含于SELECT列表中,而未包含于组函数中的列都必须包含于GROUPBY子句中。SELECTdepartment_id,COUNT(last_name)FROMemployees;SELECTdepartment_id,COUNT(last_name)*ERRORatline1:ORA-00937:notasingle-groupgroupfunctionGROUPBY子句中缺少列非法使用组函数不能在WHERE子句中使用组函数。可以在HAVING子句中使用组函数。SELECTdepartment_id,AVG(sa

7、lary)FROMemployeesWHEREAVG(salary)>8000GROUPBYdepartment_id;WHEREAVG(salary)>8000*ERRORatline3:ORA-00934:groupfunctionisnotallowedhereWHERE子句中不能使用组函数过滤分组Themaximum salary perdepartmentwhenitisgreaterthan $10,000EMPLOYEES…SELECTcolumn,group_functionFROMtable[WHEREcondition][GROUP

8、BYgroup_by_expression][HAVINGgroup_condition][O

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

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

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