a 1
b 2
c 3
d 4
e 5
f 6
以上資料,想實作按行累加的功能,得到如下資料:
a 1 1
b 2 3
c 3 6
d 4 10
e 5 15
f 6 21
uj5u.com熱心網友回復:
SQL> create table test(id varchar(10), num int) ;
Table created
SQL> begin
2 insert into test values('a',1);
3 insert into test values('b',2);
4 insert into test values('c',3);
5 insert into test values('d',4);
6 insert into test values('e',5);
7 insert into test values('f',6);
8 end;
9 /
PL/SQL procedure successfully completed
SQL> select id,num , sum(num) over(order by id) sum_num
2 from test ;
ID NUM SUM_NUM
---------- --------------------------------------- ----------
a 1 1
b 2 3
c 3 6
d 4 10
e 5 15
f 6 21
6 rows selected
SQL> drop table test purge ;
Table dropped
SQL>
uj5u.com熱心網友回復:
如果num列不是自然增長列,那要用開窗函式了:select id,num,sum(num) over (order by rownum rows between preceding and current row) sum_num from test;
uj5u.com熱心網友回復:
請問一下版主 為什么insert前要用PLSQL語法呢 不可以直接insert么
uj5u.com熱心網友回復:
也可以,這個是一種習慣;
如果不寫一個 begin end ,那么每一個 insert 陳述句,都會出現一個 “插入一行” 這樣的提示,看起來比較亂;
uj5u.com熱心網友回復:
+1
這是一個好習慣
uj5u.com熱心網友回復:
+1
這是一個好習慣
大師,好早!
uj5u.com熱心網友回復:
學習了,通過Oracle的寫法,找到了SQL Server 中如何實作累加求和的方式轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/115061.html
標籤:開發
下一篇:利用存盤程序自動更新資料庫
