sql表中共120个数据每六个求一次平均,怎么写循环语句?

来源:百度知道 编辑:UC知道 时间:2024/07/08 20:30:46
求表中地三列数据的每六个的平均,列名data,类型为varchar2

create #tmp(
data numeric(18,4)
)

declare @data numeric(18,4)
declare @sum_data numeric(18,4)
declare @i int
set @i=0
set @sum_data=0
declare C11 cursor for
select convert(numeric,data) data
from [表]
order by ...
fetch next from C11 into
@data

if @@fetch_status <> 0
begin
deallocate C11
return 0
end
while(@@fetch_status = 0)
begin
set @i=@i+1
set @sum_data=@sum_data+@data
if @i=6
begin

set @sum_data=convert(numeric(18,4),@sum_data/@i)
insert into #tmp (data)
values (@sum_data)
set @i=0
set @sum_data=0
end
fetch next from C11 into
@data

end
deallocate C11
select * from #tmp

GO