Oracle按月份累计求和

本文介绍了SQL中如何通过GROUP BY和ORDER BY子句结合使用来实现按月累计求和及连续求和的操作,提供了具体的查询语句示例和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原表:


select to_char(reg_Date,'yyyy-mm') regDate, count(*) count from Ep_Info t where 1=1  and t.reg_Date>=to_date('2013-02','yyyy-mm') and t.reg_Date<=to_date('2014-05','yyyy-mm') group by to_char(reg_Date,'yyyy-mm') order by to_char(reg_Date,'yyyy-mm')



按月累计求和:

select to_char(reg_Date,'yyyy-mm') regDate2,sum(count(*)) over(order by to_char(reg_Date,'yyyymm'), count(*)) from Ep_Info t where 1=1    and t.reg_Date>=to_date('2011-12','yyyy-mm') and t.reg_Date<=to_date('2014-04','yyyy-mm') group by to_char(reg_Date,'yyyy-mm'),to_char(reg_Date,'yyyymm') 




--zhongan soft stone
create table zh_an(pnum number(4));
insert into zh_an values(1);
insert into zh_an values(2);
insert into zh_an values(3);
insert into zh_an values(4);
select * from zh_an;

select t.pnum,sum(t.pnum) over(order by t.pnum) leijia from zh_an t;
注意:如果没有order by 子句,求和就不是“连续”的

select t.pnum,sum(t.pnum) over(order by t.pnum) leijia,sum(t.pnum) over() zongshu from zh_an t;

使用的分析函数over (partition by xxx order by xxx1,xxx2 desc) ,在"... from emp;"后面不要加order   by 子句,使用的分析函数的(partition by deptno order by sal)
里已经有排序的语句了,如果再在句尾添加排序子句,一致倒罢了,不一致,结果就令人费劲了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

macrobn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值