Oracle公司内部数据库培训资料17对GROUPBY子句的扩展

Oracle公司内部数据库培训资料17对GROUPBY子句的扩展

ID:37252204

大小:461.00 KB

页数:27页

时间:2019-05-12

Oracle公司内部数据库培训资料17对GROUPBY子句的扩展_第1页
Oracle公司内部数据库培训资料17对GROUPBY子句的扩展_第2页
Oracle公司内部数据库培训资料17对GROUPBY子句的扩展_第3页
Oracle公司内部数据库培训资料17对GROUPBY子句的扩展_第4页
Oracle公司内部数据库培训资料17对GROUPBY子句的扩展_第5页
资源描述:

《Oracle公司内部数据库培训资料17对GROUPBY子句的扩展》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、对GROUPBY子句的扩展目标通过本章学习,您将可以:使用ROLLUP操作分组使用CUBE操作分组使用GROUPING函数处理ROLLUP或CUBE操作所产生的空值使用GROUPINGSETS操作进行单独分组组函数组函数处理多行返回一个行SELECT[column,]group_function(column)...FROMtable[WHEREcondition][GROUPBYgroup_by_expression][ORDERBYcolumn];SELECTAVG(salary),STDDEV(salary),COUNT(commission_pct),MAX(hire

2、_date)FROMemployeesWHEREjob_idLIKE'SA%';例子:GROUPBY子句SELECTdepartment_id,job_id,SUM(salary),COUNT(employee_id)FROMemployeesGROUPBYdepartment_id,job_id;SELECT[column,]FROMtable[WHEREcondition][GROUPBYgroup_by_expression][ORDERBYcolumn];例子:语法:group_function(column)...HAVING子句使用HAVING对组函数进行限制对查

3、询进行第二次限制SELECT[column,]group_function(column)...FROMtable[WHEREcondition][GROUPBYgroup_by_expression][HAVINGhaving_expression][ORDERBYcolumn];带有ROLLUP和CUBE操作的GROUPBY子句使用带有ROLLUP和CUBE操作的GROUPBY子句产生多种分组结果ROLLUP产生n+1种分组结果CUBE产生2的n次方种分组结果ROLLUP操作符ROLLUP是对GROUPBY子句的扩展ROLLUP产生n+1种分组结果,顺序是从右向左SELE

4、CT[column,]group_function(column)...FROMtable[WHEREcondition][GROUPBY[ROLLUP]group_by_expression][HAVINGhaving_expression];[ORDERBYcolumn];ROLLUP应用举例SELECTdepartment_id,job_id,SUM(salary)FROMemployeesWHEREdepartment_id<60GROUPBYROLLUP(department_id,job_id);123CUBE操作符CUBE是对GROUPBY子句的扩展CUBE会产

5、生类似于笛卡尔集的分组结果SELECT[column,]group_function(column)...FROMtable[WHEREcondition][GROUPBY[CUBE]group_by_expression][HAVINGhaving_expression][ORDERBYcolumn];CUBE应用举例SELECTdepartment_id,job_id,SUM(salary)FROMemployeesWHEREdepartment_id<60GROUPBYCUBE(department_id,job_id);1234GROUPING函数GROUPING函数

6、可以和CUBE或ROLLUP结合使用使用GROUPING函数,可以找到哪些列在该行中参加了分组使用GROUPING函数,可以区分空值产生的原因GROUPING函数返回0或1SELECT[column,]group_function(column).,GROUPING(expr)FROMtable[WHEREcondition][GROUPBY[ROLLUP][CUBE]group_by_expression][HAVINGhaving_expression][ORDERBYcolumn];GROUPING函数举例SELECTdepartment_idDEPTID,job_id

7、JOB,SUM(salary),GROUPING(department_id)GRP_DEPT,GROUPING(job_id)GRP_JOBFROMemployeesWHEREdepartment_id<50GROUPBYROLLUP(department_id,job_id);213GROUPINGSETSGROUPINGSETS是对GROUPBY子句的进一步扩充使用GROUPINGSETS在同一个查询中定义多个分组集Oracle对GROUPINGSETS子句指定的分组集进行分组后用UNIONALL

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

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

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