一个面试的问题,没有回答上来,呵呵

zty0527 2006-04-03 01:50:07
table的结构和数据
Time Money
1 10
2 15
3 23
4 22
5 100
6 78
查询结果:
Time Money Total
1 10 10
2 15 25
3 23 48
4 22 70
5 100 170
6 78 248
注:Total=上一次Total+本次Money;
例如:Time1的Total=10
Time2的Total=10+15=25(Time1的Total+ Time2的Money)
Time3的Total=25+23=48
谢谢了,
...全文
219 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxdoujg 2006-04-03
  • 打赏
  • 举报
回复
楼上答案 正确1
子陌红尘 2006-04-03
  • 打赏
  • 举报
回复
declare @t table(Time int,Money int)
insert into @t select 1,10
insert into @t select 2,15
insert into @t select 3,23
insert into @t select 4,22
insert into @t select 5,100
insert into @t select 6,78

select a.Time,a.Money,total=(select sum(Money) from @t where Time<=a.Time) from @t a

/*
Time Money total
----------- ----------- -----------
1 10 10
2 15 25
3 23 48
4 22 70
5 100 170
6 78 248
*/
子陌红尘 2006-04-03
  • 打赏
  • 举报
回复
select a.Time,a.Money,total=(select sum(Money) from @t where Time<=a.Time) from @t a

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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