oracle中over() 函数用法 ,将自己的研究结果记录一下。
个人理解:over() 函数 是对 分析函数的一种条件解释,直接点就是 给分析函数加条件吧。
例如:
SQL
select deptno,ename,sal,sum(sal) over(partition by deptno) from emp
deptno,ename,sal,sum(sal) over(partition by deptno)
1 8 涂平 4000.00 27000
2 8 涂飞平 5000.00 27000
3 8 tuping 4000.00 27000
4 8 tuping 4000.00 27000
5 8 涂飞平 3000.00 27000
6 8 涂平 4000.00 27000
7 8 ganggang 3000.00 27000
8 32 wuweiling 2000.00 6000
9 32 wuweiling 2000.00 6000
10 32 吴蔚玲 2000.00 6000
注意最后一列,他首先是将所有的部门按编号分类,分类以后,将所有部门号相同的SAL进行累加,然后显示在于该部门号对应的记录后面,例如27000是所有8号部门的工资总和,那么在所有8号部门的该列都是27000
SQL
select deptno,ename,sal,sum(sal) over(order by ename) from emp
1 8 ganggang 3000.00 3000
2 8 tuping 4000.00 7000
3 32 wuweiling 2000.00 11000
4 32 wuweiling 2000.00 11000
5 32 吴蔚玲 2000.00 13000
6 8 涂小3平 5000.00 21000
7 8 涂小3平 3000.00 21000
8 8 涂平 4000.00 29000
9 8 涂平 4000.00 29000
最后一列显示的是按名字进行排序,进行工资累积求和,名字相同人的工资,首先相加,然后再和上一名字人的工资相加。
例如:
ganggang --3000
tuping --4000
加起来等于7000
两个wuweiling 是2000+2000=4000 然后和7000相加=11000,然后显示在wuweiling该行。
分享到:
相关推荐
ORACLE的OVER函数使用技巧ORACLE的OVER函数使用技巧ORACLE的OVER函数使用技巧
在Oracle数据库中,OVER函数是用于实现窗口函数(Window Functions)的重要组成部分。窗口函数允许我们执行更复杂的数据分析操作,如计算累计总和、排名等。这在开发报表时非常有用,能够让我们在查询结果中直接进行...
### Oracle开发中的OVER函数详解 #### 一、Oracle分析函数简介 在Oracle数据库开发中,分析函数是一类非常强大的工具,主要用于实现复杂的查询需求,尤其是在处理大量数据时,能够提供高级的数据汇总、排序和筛选...
ORACLE中OVER函数的用法.doc
其中,Oracle的分析函数是其强大的特性之一,它允许用户在单个SQL查询中执行复杂的分析操作,而无需使用子查询或者自连接。这篇文档将深入探讨Oracle中的分析函数,帮助你更好地理解和利用这一功能。 一、什么是...
- 当`OVER`子句中使用`PARTITION BY NULL`时,意味着所有的行都被视为同一个分区,即整个结果集被视为一个整体来进行计算。 #### 六、总结 通过本文的学习,我们可以看到Oracle开窗函数的强大之处。无论是进行复杂...
Oracle数据库中的RATIO_TO_REPORT()函数是一个非常有用的分析函数,尤其在进行数据比例分析和比较时。这个函数能够计算一个值相对于所有值总和的比例,返回的结果是一个百分比。配合OVER()子句,它可以用于全局或者...
本文将详细介绍Oracle中的`OVER`子句以及几种常用的开窗函数,包括`ROW_NUMBER()`, `RANK()`, `DENSE_RANK()`和`LAG()`等。 #### 二、基本概念 - **`OVER`子句**:`OVER`子句用于指定分析函数的作用范围,它可以...
Oracle LISTAGG 函数的使用 Oracle LISTAGG 函数是 Oracle 11.2 中引入的一种新特性,主要功能类似于 wmsys.wm_concat 函数,即将数据分组后,把指定列的数据再通过指定符号合并。LISTAGG 函数有两个参数:要合并的...
### Oracle中OVER函数详解 #### 一、概述 在Oracle数据库中,OVER函数是一个非常强大的工具,主要用于实现复杂的窗口函数操作。它可以帮助我们对数据进行分组、排序、累计等多种处理,大大增强了SQL语言的数据分析...
根据提供的文件信息,我们可以深入探讨Oracle分析函数的相关知识点,特别是`SUM()`函数配合`OVER`子句的不同用法,以及`RANK()`, `DENSE_RANK()`, 和 `ROW_NUMBER()` 这三个窗口函数的应用场景。 ### Oracle分析...
分析函数通过使用OVER子句,可以对数据进行分区、排序以及定义窗口大小等功能。它们在数据仓库、报告和在线事务处理等多种场合中非常有用。 以下是对给定文件内容中提到的Oracle分析函数相关知识点的详细介绍: 1....
6. AVG()、SUM()、COUNT()等聚合函数在OVER子句中也可以作为分析函数使用,它们会对每个分区或排序组计算累积值。 使用分析函数的实际应用场景: 1. 计算每个部门的员工平均工资。 2. 分析销售数据,找出连续季度...
本资源摘要信息主要介绍了SYBASE iq和ORACLE中使用分析函数计算同期值和常用计算函数的使用方法。文章涵盖了同期值的计算、累计及同期累计值的计算、TOP 排序、日期转换格式、返回指定小数点位数、转换函数、大小写...
下面是 Oracle 中一些常用的分析函数: 1. AVG 函数:用于计算一个组和数据窗口内表达式的平均值。例如,计算员工表中每个员工的平均薪水报告,该平均值由当前员工和与之具有相同经理的前一个和后一个三者的平均数...
这类函数通常会结合`OVER`子句一起使用,以便在不同的数据集上应用相同的逻辑。 ##### 2.1 分析函数的工作原理 分析函数的基本语法如下: ```sql FUNCTION_NAME(<参数>,...) OVER (表达式,...>表达式 | DESC>| ...
通过本文的学习,我们了解了Oracle中的分析函数及其基本用法,包括常见的分析函数分类、基本语法以及实际应用场景。这些函数的强大之处在于它们能够轻松地处理复杂的数据计算需求,为数据分析提供了极大的便利。掌握...
### Oracle分析函数详解 #### 一、Oracle分析函数概述 Oracle分析函数是在处理大量数据时极为有用的一套工具,主要...在实际应用中,根据具体的业务需求选择合适的分析函数,可以极大地提高数据分析的准确性和效率。
Oracle的分析函数row_number() over()是数据库查询中一种强大的工具,它用于对数据集进行分组和排序,尤其在处理重复数据或者实现排名时非常有用。在Oracle SQL中,row_number()函数会为每一行生成一个唯一的数字,...
Oracle 分析函数、窗口函数和报表函数是数据库查询和数据分析中的关键工具,尤其在复杂的OLAP(在线分析处理)系统中发挥着重要作用。在Oracle数据库中,这些功能提供了对大量数据进行高效处理的能力,帮助用户生成...