oracle数据库按照城市分组_超详细的5个Oracle数据库分组函数总结

本文详细介绍了Oracle数据库中的分组函数,包括GROUP BY、ROLLUP、CUBE和GROUPING SETS的用法,并通过实例演示了如何使用这些函数进行数据汇总和统计分析。通过对DEPTNO和JOB字段的分组,展示了各种分组操作的效果,帮助读者深入理解这些概念。
摘要由CSDN通过智能技术生成

概述

今天主要分享下Oracle数据库分组函数group by 、 rollup、cude、grouping 、grouping sets的常用用法,以下以Oracle自带schema做演示。

1、group by的使用

--根据DEPTNO和JOB进行分组。求相同DEPTNO,相同JOB的员工工资总和。

SELECTE.DEPTNO,E.JOB,SUM(E.SAL)FROMEMP EGROUPBYE.DEPTNO,E.JOBORDERBYE.DEPTNO;

2、group by 配合rollup的使用

rollup()--可以使用一个或者多个参数。意思是从右向左进行数据的汇总统计,并生成一行,rollup是个统计函数。

以下是根据分组情况进行统计,最终进行全部汇总。

(1)简单的使用rollup--生成一行新数据。(要生成新的一行数据,还可以使用UNION ALL)

SELECTD.DUMMYFROMDUAL DGROUPBYROLLUP(D.DUMMY);

(2)先根据E.DEPTNO,E.JOB进行分组,然后从右向左

SELECTE.DEPTNO,E.JOB,SUM(E.SAL)FROMEMP EGROUPBYROLLUP(E.DEPTNO,E.JOB)ORDERBYE.DEPTNO;

针对以上的使用ROLLUP的结果的理解:

a:首先根据GROUP BY E.DEPTNO,E.JOB查询出9条数据(除4,8,12,13外),

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值