美文网首页
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