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

Oracle分析函数

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

Oracle分析函数

    聚合函数可以在分析模式或非分析模式下来进行运算。非分析模式下的聚合函数将结果集削减为较少的数据行。然而,在分析模式下,聚合函数并不减少输出结果行数。并且,聚合函数能够在一行中同时取得聚合和非聚合的列。分析模式的聚合函数提供了不需要任何自连接就可以聚合不同层级数据的能力。

1. sum

Oracle分析函数

可以把sum当做聚集函数来用,也可以当做分析函数来用

Oracle分析函数

Oracle分析函数

Oracle分析函数

与前一个sql不同的是窗口的变化,这个例子中取的是开始行到当前行,即对当前行之前的行(包括当前行)求和

Oracle分析函数

从结果中很容易理解sum分析函数


2. avg

Oracle分析函数

和sum差不多,就不多说了

Oracle分析函数

Oracle分析函数

上面这两个语句是等价的,看看结果

Oracle分析函数

下面这个语句,每三行求一次平均(前,中,后)

Oracle分析函数

Oracle分析函数

3. lag

Oracle分析函数

lag提供一种方式访问当前位置的前面的行,默认offset是1,表示访问前一行

Oracle分析函数


4. lead

利用lead可以访问当前位置后面的行

Oracle分析函数

Oracle分析函数


5. first_value和last_value

first_value取窗口中的第一个值,last_value取最后一个

Oracle分析函数


6. rank

Oracle分析函数

Oracle分析函数

rank,意为排名、等级。

rank函数返回一个行的排名,值相等的行排名相同,排名是不连续的。对于top-N和bottom-N这样的操作来说,rank函数是很有用的。rank作为聚集函数时返回某一个假定值的排名,作为分析函数时返回每一行的排名。

Oracle分析函数

Oracle分析函数


7. row_number

Oracle分析函数

row_number是一个分析函数,它给每一行指定一个编号,编号从1开始。

这个函数可以实现top-N,bottom-N,inner-N这样的操作。

Oracle分析函数Oracle分析函数

注意也rownum伪列区分开,rownum对于每一行都返回一个数以表明被选中的顺序,比如1, 2……


8. listagg

Oracle分析函数

listagg函数用于列转行

作为一个单行聚集函数,listagg作用于所有行并返回单一的一行

作为一个分组聚集函数,listagg作用于每个组,并为每个组返回一行

作为一个分析函数,listagg基于查询分区字句将数据分区,并为每个分区中的每一行返回相同的结果

measure_expr,指定要操作的列或表达式

delimiter_expr,指定分隔符

order_by_clause,决定结果的顺序

Oracle分析函数

Oracle分析函数

Oracle分析函数


免责声明:

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

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

Oracle分析函数

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

下载Word文档

猜你喜欢

Oracle分析函数Over()

Over()分析函数  说明:聚合函数(如sum()、max()等)可以计算基于组的某种聚合值,但是聚合函数对于某个组只能返回一行记录。若想对于某组返回多行记录,则需要使用分析函数。rank()/dense_rank over(partition by ...
Oracle分析函数Over()
2015-01-23

Oracle分析函数入门

Oracle分析函数入门
Oracle分析函数入门
2020-12-22

Oracle Index函数与实时数据分析

Oracle Index函数是用来创建和管理索引的函数。索引是一种数据结构,用于加快对表中数据的访问速度。当在表上创建索引时,Oracle会为表中的一列或多列创建一个索引,这样在查询时就可以通过索引来快速查找数据,而不必全表扫描。实时数据
Oracle Index函数与实时数据分析
2024-08-16

Oracle Level函数适用场景分析

Oracle LEVEL 函数是一个用于层次查询(Hierarchical Query)的特殊函数,它可以在查询结果中显示每行数据在层次结构中的级别组织结构查询:在公司或组织的人员结构中,可以使用LEVEL函数查询员工的上下级关系。例如,查
Oracle Level函数适用场景分析
2024-09-03

Oracle Level函数应用实例分析

Oracle LEVEL 函数是一个连接操作符,它用于处理层次结构数据,如树形结构或者有向无环图(DAG)以下是一些使用 Oracle LEVEL 函数的实例:查询员工的上下级关系:假设我们有一个员工表(employees),其中包含员工
Oracle Level函数应用实例分析
2024-09-02

Oracle Value函数对数据分析的贡献

Oracle Value函数实际上并不是一个单独的函数,而是指Oracle数据库提供的一系列分析函数,这些函数在数据分析中发挥着重要作用。以下是对Oracle Value函数在数据分析中贡献的概述:Oracle Value函数对数据分析的
Oracle Value函数对数据分析的贡献
2024-10-09

Oracle常见分析函数实例详解

目录1. 认识分析函数1.1 什么是分析函数1.2 分析函数和聚合函数的不同1.3 分析函数的形式2. 理解over()函数2.1 两个order by 的执行机制2.2 分析函数中的分组、排序、窗口2.3 帮助理解over()的实例3.
2023-04-25
2024-04-02

编程热搜

目录