A. sql自動累加序號
update b set 單據ID=(select max(單據ID+1) from a) where ....
insert into a (單據ID) values ((select max(單據ID+1) from a))
delete from b where 單據ID in (select 單據ID from a)
B. sql server中,怎麼對數據按照插入的先後次序排序
主鍵如果是自增的,直接按主鍵來排序就行,如果不是。那你就得建立一個SORT列專門為其排序用,很靈活,你可以存拼音首字母按其排序,也可以存先後順序。
C. sql中如何實現以日期為條件,使每個月會自動的從1開始重新累加排序。如下圖,ecode由年月和數字組成。
SELECT to_number(to_char(SYSDATE,'yyyymm')) FROM al;--201212
SELECT lpad(1,4,0) FROM al;--SELECT lpad(1,4,0) FROM al;
第一句是獲取系統年月
第二句就是實現你要的四位數lpad(1 ,4,0) 的意思就是給數字將1處理成0001。第一數字就是你要累加的值
D. sql查詢累加
如果只是簡單的累加的話:
select sum(money) from a;
如果是逐條累加的話,麻煩:
用sqlserver寫個存儲過程,中間有很多知識,好好學學吧!
E. SQL 累加式計算
1、創建測試表
create table # (
val int null,
sum_val int null
)
--2、創建測試數據
insert into # (val)
select top 100 abs(checksum(newid()))%100+1 from sys.all_columns a,sys.all_columns b
--3、查詢插入數據
select * from #
--4、開始賦值累加值
declare @sum_Val as int
set @sum_Val=0
update # set sum_val=@sum_Val,@sum_Val=case when @sum_Val=0 then val else @sum_Val+val end
--5、查詢累加後的結果
select * from #
--6、清除測試數據
drop table #
F. SQL欄位累加求和的問題
SELECT ID,STRING1,STRING2 from table UNION
select ID=0,string1=string1+'小計',countresult=count(1),sum1=sum(string2) from talbe group by string1 union
select ID=0,string1='總計',countresult=count(1),sum1=sum(string2) from table order by string1,id
結果為包括了小計和總計,和明細,並按順序排列
G. SQL 的一個累加演算法
select t2.id,t2.a,sum(t1.a)
from t_a t1 left join t_a t2 on t1.id<=t2.id
group by t2.id,t2.a
是這個意思嗎?
表名我起的叫t_a,應該和你一樣,欄位名也引用你的,直接運行看看結果
-----------補充----------
這個就可以顯示你要求的結果啊,你是要更新b列的數據嗎?你資料庫是什麼?
更新b列用這個
update t_a set t_a.b=s.sum_value from t_a
inner join (select t2.id,t2.a,sum(t1.a) sum_value from t_a t1 left join t_a t2 on t1.id<=t2.id
group by t2.id,t2.a) s on t_a.id=s.id and t_a.a=s.a
sqlserver下的寫法,其他資料庫寫法可能略有出入,有問題幫你調
H. sql累加函數
CreateFunctionfn_lj(@Iint)
Returnsint
As
Begin
Declare@rstint=0
while@I>0
begin
Set@rst=@rst+@I
Set@I=@I-1
end
return@rst
End
/*
比如輸入10,得到55
selectdbo.fn_lj(10)
*/
I. 關於SQL計算累加
--sql 其實很簡單 語法你都會 關鍵是怎麼組合
select year,month,(select sum(membercount) from tablename b where b.year=a.year and b.month<=a.month)
all_membercount from tablename a
--註:year和month 無論什麼數據類型都不影響 把表名換成你的表名(內表外表表名是一樣的) 就可以了
--希望解決了樓主的問題
J. SQL如何實現累加
你寫一個package,package中定義一個全局變數。
然後再寫個function,傳一個數字,如果是1,就賦值為0。每調用一次這個function, 那全局變數就加1,再返回全局變數的值。
在執行sql 的時候,順便調用這個function。
select function(rownum),a.* from table a