我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle数据库中有哪些分组函数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle数据库中有哪些分组函数

这篇文章给大家介绍Oracle数据库中有哪些分组函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1、group by的使用

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

SELECT E.DEPTNO,E.JOB,SUM(E.SAL) FROM EMP E GROUP BY E.DEPTNO,E.JOB ORDER BY E.DEPTNO;

Oracle数据库中有哪些分组函数

2、group by 配合rollup的使用

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

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

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

SELECT D.DUMMY FROM DUAL D GROUP BY ROLLUP(D.DUMMY);

Oracle数据库中有哪些分组函数

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

SELECT E.DEPTNO,E.JOB,SUM(E.SAL) FROM EMP E GROUP BY ROLLUP(E.DEPTNO,E.JOB) ORDER BY E.DEPTNO;

Oracle数据库中有哪些分组函数

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

a:首先根据GROUP BY E.DEPTNO,E.JOB查询出9条数据(除4,8,12,13外),在根据rollup的定义,从右向左,对ROLLUP中的参数进行小计

首先根据JOB(对所有的JOB进行汇总),汇总出4,8,12行,在根据E.DEPTNO(对所有的DEPTNO进行汇总),汇总出第十三行数据。

(3) 特殊情况

SELECT E.DEPTNO,E.JOB,SUM(E.SAL) FROM EMP E GROUP BY ROLLUP(E.JOB,E.DEPTNO) ORDER BY E.DEPTNO;

Oracle数据库中有哪些分组函数

理解:首先根据GROUP BY E.DEPTNO,E.JOB查询出前九条数据,其次对E.DEPTNO进行汇总,但是必须考虑JOB,也就是相同的JOB,的所有的工资总和,所以出现下面五条数据。

3、group by 配合cube的使用

SELECT E.DEPTNO,E.JOB,SUM(E.SAL) FROM EMP E GROUP BY CUBE(E.DEPTNO,E.JOB) ORDER BY E.DEPTNO;

Oracle数据库中有哪些分组函数

理解:CUBE会对条件中的每一个条件进行单独的汇总:即对单独的列进行汇总

GROUP  BY CUBE(E.DEPTNO,E.JOB)首先根据:GROUP BY  E.DEPTNO,E.JOB查询数据,其次对E.JOB进行汇总(不考虑DEPTNO,单独汇总,而ROLLUP是在同一个DEPTNO下面)再对E.DEPTNO进行汇总,最后全部汇总。

cube(a,b) 统计列包含:(a,b)、(a)、(b)、() cube(a,b,c) 统计列包含:(a,b,c)、(a,b)、(a,c)、(b,c)、(a)、(b)、(c)、()

4、GROUPING 的使用

GROUPING函数可以接受一列,返回0或者1。如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0。GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。

SELECT GROUPING(E.DEPTNO), E.DEPTNO,E.JOB,SUM(E.SAL) FROM EMP E GROUP BY ROLLUP(E.DEPTNO,E.JOB) ORDER BY E.DEPTNO;

Oracle数据库中有哪些分组函数

可以使用decode或者case函数进行转换这种不友好的显示:

SELECT  CASE WHEN grouping(E.DEPTNO) = 1 THEN '总计' ELSE E.DEPTNO || '' END AS 部门, CASE WHEN grouping(E.JOB) = 1 AND grouping(E.DEPTNO) = 0 THEN '小计' ELSE E.JOB END AS 工作种类, SUM(E.SAL) FROM EMP E GROUP BY ROLLUP(E.DEPTNO,E.JOB) ORDER BY E.DEPTNO;

Oracle数据库中有哪些分组函数

SELECT DECODE(GROUPING(E.DEPTNO), 1, '总计', E.DEPTNO) AS 部门, CASE WHEN GROUPING(E.JOB) = 1 AND GROUPING(E.DEPTNO) = 0 THEN '小计' ELSE E.JOB END AS 工作种类, SUM(E.SAL) FROM EMP E GROUP BY ROLLUP(E.DEPTNO, E.JOB) ORDER BY E.DEPTNO;

Oracle数据库中有哪些分组函数

5、grouping sets提供了指定汇总集合条件的功能

根据E.DEPTNO,E.JOB分别汇总数据。

SELECT E.DEPTNO,E.JOB,SUM(E.SAL) FROM EMP E GROUP BY GROUPING SETS(E.DEPTNO,E.JOB);

Oracle数据库中有哪些分组函数


关于Oracle数据库中有哪些分组函数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle数据库中有哪些分组函数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle数据库有哪些

oracle 数据库是一款由 oracle corporation 开发的关系型数据库管理系统,主要功能包含:数据存储和管理数据查询数据完整性和一致性高可用性可扩展性安全性应用程序开发云计算Oracle 数据库:简介Oracle 数据库是
oracle数据库有哪些
2024-04-19

VBS中有哪些数组函数

今天就跟大家聊聊有关VBS中有哪些数组函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Array 函数返回包含数组的Variant。Array(arglist)参数:arglist
2023-06-08

Hive内部函数中聚合函数和分组函数有哪些

这篇文章给大家分享的是有关Hive内部函数中聚合函数和分组函数有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 常用的聚合函数: max 最大值 min
2023-06-02

Oracle中数字函数有哪些

小编给大家分享一下Oracle中数字函数有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数字函数 ROUND R
2023-06-03

Oracle数据库中可以使用哪些内置函数

在Oracle数据库中可以使用许多内置函数,这些函数包括但不限于:字符串函数:如CONCAT、SUBSTR、UPPER、LOWER、INSTR等。数值函数:如ROUND、TRUNC、CEIL、FLOOR、POWER等。日期函数:如SYS
Oracle数据库中可以使用哪些内置函数
2024-04-09

oracle查数据库有哪些表

有四种查询 oracle 数据库中表的方法:使用 sql 查询:使用 select * from 语法。使用 jdbc:使用 statement 和 resultset 对象。使用 pl/sql:使用 cursor 和 for 循环。使用
oracle查数据库有哪些表
2024-04-19

oracle数据库类型有哪些

oracle 数据库类型提供不同功能,包括:多模式 (mm)、rac、nosql、autonomous database、exadata、appliance 和 vault。选择合适的类型取决于应用程序和工作负载的要求,包括数据类型、批量、
oracle数据库类型有哪些
2024-04-08

oracle数据库版本有哪些

Oracle数据库版本众多,较为常见的版本包括:Oracle 8iOracle 9iOracle 10gOracle 11gOracle 12cOracle 18cOracle 19c此外,Oracle还有许多其他的版本和变种,
oracle数据库版本有哪些
2024-05-11

Oracle数据库有哪些版本

Oracle数据库的版本有很多,以下是一些主要的版本:Oracle 7Oracle 8Oracle 8iOracle 9iOracle 10gOracle 11gOracle 12cOracle 18cOracle 19c另
Oracle数据库有哪些版本
2024-04-09

Oracle数据库中常见的数据类型有哪些?

Oracle数据库中常见的数据类型有很多种,包括数值型、字符型、日期型等。下面将具体介绍一些常见的数据类型,并附上相应的代码示例。数值型数据类型:NUMBER: 用于存储数值类型数据,可以根据需要指定精度和范围。示例:CREATE TAB
Oracle数据库中常见的数据类型有哪些?
2024-03-08

php中数组排序函数有哪些

php中数组排序函数有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源的P
2023-06-14

php中有哪些数组排序函数

php中有哪些数组排序函数?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Pe
2023-06-14

Oracle中日期函数有哪些

这篇文章主要介绍了Oracle中日期函数有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。日期函数 SYSDATE SYSDA
2023-06-03

oracle数据库由哪些文件组成

oracle 数据库由多个文件组成,包括数据文件(存储实际数据)、撤销日志文件(记录事务操作)、归档日志文件(存储撤销日志副本)、联机重做日志文件(记录数据库更改)、控制文件(存储数据库元数据)、spfile(存储实例配置)和内存结构文件(
oracle数据库由哪些文件组成
2024-05-11

编程热搜

目录