『壹』 100分 求教sqlSERVER中的用游標遍歷表中的列並實現累加輸出。
你邏輯流程有問題 ,下面是你的邏輯流程,
讀取下一條→加值→[判斷是否結尾→讀取下一條→加值](循環)
而@@FETCH_STATUS返回3種狀態,
0 FETCH 語句成功。
-1 FETCH 語句失敗或此行不在結果集中。
-2 被提取的行不存在。
這樣在游標移動到最後一行的時候,進行while判斷@@FETCH_STATUS為0 ,進行一次加值,然後又直接進入while判斷 這時候你還沒有移動游標,@@FETCH_STATUS還是為0,又進行了一次加值,然後移動游標,進行判斷@@FETCH_STATUS不為0,退出循環
所以應該修改邏輯為
讀取下一條→[判斷是否結尾→加值→讀取下一條](循環)
SQL語句調整如下
===========================================
OPEN Employee_Cursor
FETCH NEXT FROM Employee_Cursor into @id,@name
WHILE @@FETCH_STATUS = 0
BEGIN
set @finalname = @finalname + @name
FETCH NEXT FROM Employee_Cursor into @id,@name
END
CLOSE Employee_Cursor
==================================
以上語句實測試通過
先移動游標,然後就開始判斷,為真進行加值 然後移動游標,這樣就沒問題了,
『貳』 sqlserver procere 怎麼對一個數累加賦值
根據你的應用場景
(1)可以使用游標,具體使用網路游標的使用方法
(2)while
declare@numint
set@num=0
while@num<100
begin
set@num=@num+1
end
select@num
『叄』 SQLserver2005如何查詢資料庫中某一段時間內某個欄位的累加和
select CONVERT(varchar(12) , 日期欄位,112 ),sum(累加欄位) from 表名 where 日期欄位 between '2013-01-01' and '2013-01-31' group by CONVERT(varchar(12) , 日期欄位,112 )
日期區間我用的1月1號到1月31號,你自己改一下吧
『肆』 sql查詢累加
如果只是簡單的累加的話:
select sum(money) from a;
如果是逐條累加的話,麻煩:
用sqlserver寫個存儲過程,中間有很多知識,好好學學吧!
『伍』 SQLServer2008 數據查詢 累加問題
select x.BFactoryName,x.LineName,x.Month,y.BaseValue,x.CurValue,x.TotValue
from (
select b.BFactoryName,b.LineName,a.Month,--c.BaseValue,
sum(case when a.Month=b.Month then b.MonthValue else 0 end) as CurValue, --統計當月值
sum(case when a.Month>=b.Month then b.MonthValue else 0 end) as TotValue --統計累計值
from (select Month=cast(1 as int) union select 2 union select 3 union select 4
union select 5 union select 6 union select 7 union select 8
union select 9 union select 10 union select 11 union select 12) a --生成月的基準值
join (select BFactoryName,LineName,Month,sum(Value)/12 as MonthValue
from T where FactoryName='F' and Year=2012 group by BFactoryName,LineName,Month) b on 1=1
group by b.BFactoryName,b.LineName,a.Month
) x
left outer join
(select BFactoryName,LineName,sum(Value)/12 as BaseValue--統計基準值
from T where FactoryName='F' and Year=2012-1 group by BFactoryName,LineName) y
on x.BFactoryName=y.BFactoryName and x.LineName=y.LineName
『陸』 用SQLserver編寫存儲過程實現輸入兩個整數, 計算並輸出他的累加和怎麼寫
createprocsp_addtest
pi_aint,
pi_bint
as
begin
printpi_a+pi_b
end
『柒』 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下的寫法,其他資料庫寫法可能略有出入,有問題幫你調
『捌』 sqlserver當前時間的數求和
您好,你的問題,我之前好像也遇到過,以下是我原來的解決思路和方法,希望能幫助到你,若有錯誤,還望見諒!把時分秒分段截出來匯總,然後秒=秒總數%60 分=(分總數+秒總數/60)%60 時=時總數+(分總數+秒總數/60)/60,匯總時分秒求出以後拼裝一下就好了非常感謝您的耐心觀看,如有幫助請採納,祝生活愉快!謝謝!
『玖』 sql更新相同欄位的值的另外欄位累加到一起
如果是mysql的話,可以試試:
selectA,group_concat(Bseparator'')
from表
groupbyA
『拾』 sql語句中的列內容如何累加
select sum(colm) from table
where condition
group by coln