美文网首页
oracle累加分析函数

oracle累加分析函数

作者: liuxiaolin | 来源:发表于2019-06-03 16:45 被阅读0次

oracle的累计求和分析函数

sum() over(partition by 字段1 order by 字段2)  

用下面这个数据集举例。

create table tb(id int ,num ,int);

insert into tb values(1,2);

insert into tb values(2,3);

insert into tb values(3,4);

insert into tb values(4,5);

insert into tb values(5,6);

1、按num字段升序累加

select id,num,sum(num) over(order by num) cumsum from tb;

order by 默认为升序,添加关键字 desc 后为降序排列。

为了更进一步了解这个函数的工作原理,我们增加2行数据。

insert into tb values(1,5);

insert into tb values(1,7);

在执行一次上面那个SQL语句:

select id,num,sum(num) over(order by num) cumsum from tb;

注意看id字段,其排序已被打乱,这是按num字段升序排列的结果,所以,参数order by 起排序作用。

2、分组累加

select id,num,sum(num) over(partition by id order by num) from tb;

按id字段分组累加,组内按num字段排序。

相关文章

网友评论

      本文标题:oracle累加分析函数

      本文链接:https://www.haomeiwen.com/subject/usiqxctx.html