SQL> select addr from tb; ADDR
----------
1
1
2
2
3
4
5
6
7
3已选择10行。SQL> SELECT addr,sum(addr) over(order by addr ROWS UNBOUNDED PRECEDING) from tb; ADDR SUM(ADDR)OVER(ORDERBYADDRROWSUNBOUNDEDPRECEDING)
---------- ------------------------------------------------
1 1
1 2
2 4
2 6
3 9
3 12
4 16
5 21
6 27
7 34已选择10行。
----------
1
1
2
2
3
4
5
6
7
3已选择10行。SQL> SELECT addr,sum(addr) over(order by addr ROWS UNBOUNDED PRECEDING) from tb; ADDR SUM(ADDR)OVER(ORDERBYADDRROWSUNBOUNDEDPRECEDING)
---------- ------------------------------------------------
1 1
1 2
2 4
2 6
3 9
3 12
4 16
5 21
6 27
7 34已选择10行。
2 SELECT rowid rid, addr,sum(addr) over(order by addr ROWS UNBOUNDED PRECEDING) as sumaddr
3 from tb) t where t.rid=tb.rowid);已更新10行。SQL> select addr,name from tb; ADDR NAME
---------- ---------------
1 1
1 2
2 4
2 6
3 9
4 16
5 21
6 27
7 34
3 12已选择10行。SQL>
今天第一次看到over()
google上也没查到相关用法:(