请教高手一个棘手的问题

row32hahaha 2010-02-22 06:57:00
id num
1 43
2 3
3 33
4 2
5 -7

这是表里的数据,假如我想要这样一个查询查询出所有数据且增加一列这列为此列以上的所有列的num之和
查询出结果应为:
id num sum
1 43 43
2 3 46
3 33 79
4 2 81
5 -7 74
请问这样的sql能实现么,如何实现(注:不能用游标等过程才能用到的函数,仅仅是一句查询语句)
小弟才从mssql转来oracle,不甚了解,希望高人指点
...全文
77 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼W 2010-02-22
  • 打赏
  • 举报
回复
分析函数
select id,num,
sum(num)over(order by id)sum
from table1
YY_MM_DD 2010-02-22
  • 打赏
  • 举报
回复

SQL> with table1 as(
2 select 1 id, 43 num from dual
3 union all
4 select 2, 3 from dual
5 union all
6 select 3, 33 from dual
7 union all
8 select 4, 2 from dual
9 union all
10 select 5, -7 from dual
11 )
12 select id,num,sum(num)over(order by id) from table1
13 /

ID NUM SUM(NUM)OVER(ORDERBYID)
---------- ---------- -----------------------
1 43 43
2 3 46
3 33 79
4 2 81
5 -7 74

SQL>

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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