Oracle逐行累加求和
最近遇到一个比较常见的问题,每行记录需要累加求和。这些问题倒不是有多难,主要是在工作的过程中会经常遇到,特别是Oracle自带的一些函数也能够很好地解决这样一些通用的查询计算,在此记录一下。
问题描述:比如查询记录有5行,每行记录有一个数值型的字段。第2行为第1、2行的和;第3行为第1、2、3行的和;第4行为第1、2、3、4行的和;后面依此类推……
解决办法:使用Oracle自带的Over函数。如下例子:
1.建测试表EMP
-- Create table
create table EMP
(
DEPTNO NUMBER(4),
ENAME VARCHAR2(20),
SAL NUMBER(10)
)
tablespace OGDP
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 16
minextents 1
maxextents unlimited
);
2.插入测试数据
insert into emp (DEPTNO,ENAME,SAL) values (1,'CLARK',2450);
insert into emp (DEPTNO,ENAME,SAL) values (2,'SMITH',3000);
insert into emp (DEPTNO,ENAME,SAL) values (3,'ALLEN',1250);
insert into emp (DEPTNO,ENAME,SAL) values (4,'JAMES',950);
查询结果如下:
3.编写SQL(用Over函数)
select t.deptno,
t.sal,
sum(t.sal) over (order by t.deptno) AccuSal
from emp t
查询结果如下:
如上所示就是需要的效果,更多关于Over函数可以参考以下:
Oracle逐行累加求和的更多相关文章
- ORACLE逐行累计求和方法(OVER函数)
1.RANK ( ) OVER ( [QUERY_PARTITION_CLAUSE] ORDER_BY_CLAUSE ) DENSE_RANK ( ) OVER ( [QUERY_PARTITION_ ...
- 用return关键字实现1——100累加求和,返回总和并接收输出
package com.Summer_0419.cn; /** * @author Summer * 用return关键字实现1——100累加求和,返回总和并接收输出 */ public class ...
- excel函数累加求和与累计百分比应用
申明:为了方便记忆,该笔记内容纯属拷贝,如与原创雷同,请加我为火山小视频好友:345270311,必将献上好段子已表感谢~ 正传 以下表为例,求公里数的累加求和以及累计百分比. 在D2单元格输入=su ...
- 使用Storm实现累加求和操作
package com.csylh; import org.apache.storm.Config; import org.apache.storm.LocalCluster; import org. ...
- sh_04_累加求和
sh_04_累加求和 # 计算 0 ~ 100 之间所有数字的累计求和结果 # 0. 定义最终结果的变量 result = 0 # 1. 定义一个整数的变量记录循环的次数 i = 0 # 2. 开始循 ...
- oracle分析函数 之分组累加求和
select s.slice_date_to ,s.made_id ,sum(s.steup_count)over(partition by s.made_id order by s.slice_da ...
- [moka同学笔记]Yii2.0循环查询并对结果累加求和
在控制器中查询好数据 $model 在视图中输入 <?php foreach($model as $key=>$r):?> <tr class="text-cent ...
- oracle中sum求和问题
如列表所示:都是选填字段name age salary weight张三 18 20李四 17王五 21燕小六 15 22 sum(age+salar ...
- stream之累加求和
1.集合中直接包含BigDecimal元素的累加 List<Integer> list = new ArrayList<>();list.add(3);list.add(7); ...
随机推荐
- Ubuntu下远程访问MySQL数据库
MySQL远程访问的命令 格式: mysql -h主机地址 -u用户名 -p用户密码 jack@jack:~$ mysql -h192.168.5.154 -usaledata -pEnter pas ...
- Stars(树状数组+线段树)
Stars Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- JAVA词汇大全
JAVA词汇大全 A B C D E F H I J L M O P R S T U V W A Abstract Window Toolkit(AWT)抽象窗体工具集 一个用本地图形组件实现的 ...
- 现场故障案例:AIX安装Oracle10G runInstaller弹出错误一例
AIX安装Oracle10G runInstallert弹出错误一例 环境: 系统:AIX5300-08 数据库:Oracle 10g(64bit) AIX客户机卸载oracle软件后,又一次安装or ...
- GridView行编辑、更新、取消、删除事件使用方法
注意:当启用编辑button时,点击编辑button后会使一整行都切换成文本框.为了是一行中的一部分是文本框,须要把以整行的全部列都转换成模板,然后删掉编辑模板中的代码.这样就能使你想编辑的列转换成文 ...
- android技术牛人的博客[转]
Android+JNI调用–文件操作 开发环境:Windows xp sp3 +MyEclipse 8.6+android2.3.3+jdk1.6+android-ndk-r6b JNI概述: ...
- Node.js模块os
OS 操作系统模块 os.hostname() 操作系统的主机名. os.type() 操作系统的名称 os.release() 操作系统的发行版本 os.uptime() 当前系统的时间 以秒为 o ...
- 关于javascript面向对象之闭包
要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量,而在函数外部无法 ...
- struts2页面输出错误信息
<package name="user" namespace="/user" extends="struts-default"> ...
- (转)openURL的使用方法
view plaincopy to clipboardprint? [[UIApplication sharedApplication] openURL:[NSURL URLWithString:ap ...