如何实现组内逐行累加??

wzsjzjjxy 2010-11-17 05:55:41

实现上如的效果,首先我用row_number函数获得序号,分组依据是前面四行,显示acounnt,acctname,year,month
效果在图中最后一列
...全文
309 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzsjzjjxy 2010-11-17
  • 打赏
  • 举报
回复
sqlserversum后面也可以接over。不过我试了结果不对[Quote=引用 6 楼 coleling 的回复:]
如果是Oracle就更简单了:

SQL code

--oracle写法,呵呵
select *,debitsum = sum(debit) over(partition by acounnt,acctname,year,month order by row_num)
from tb a
[/Quote]
coleling 2010-11-17
  • 打赏
  • 举报
回复
如果是Oracle就更简单了:

--oracle写法,呵呵
select *,debitsum = sum(debit) over(partition by acounnt,acctname,year,month order by row_num)
from tb a
coleling 2010-11-17
  • 打赏
  • 举报
回复

select *,debitsum = (select convert(decimal(15,2),sum(debit)) from tb where a.acounnt = acounnt and a.acctname = acctname and a.year = year and a.month = month and row_num <= a.row_num)
from tb a
wzsjzjjxy 2010-11-17
  • 打赏
  • 举报
回复
不好意思,我把11000当成11了。那个32.77应该是11021.77[Quote=引用 1 楼 wxf163 的回复:]
这图给的真形象,不过你那11000.000怎么算的?

给贴出点数
[/Quote]
wzsjzjjxy 2010-11-17
  • 打赏
  • 举报
回复
我把11000当初11了。不好意思。
wzsjzjjxy 2010-11-17
  • 打赏
  • 举报
回复
图片编辑错了。
王向飞 2010-11-17
  • 打赏
  • 举报
回复
这图给的真形象,不过你那11000.000怎么算的?

给贴出点数

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧