DECLARE date_cursor CURSOR FOR select distinct(date) from test order by date desc
OPEN date_cursor
DECLARE @minTime datetime,@dayTime datetime
select @minTime=min(date) from test where date is not null
print @minTime
FETCH NEXT FROM date_cursor INTO @dayTime
while @dayTime>@minTime
begin
insert into test(number) select sum(number) from test where date < @dayTime
FETCH NEXT FROM date_cursor INTO @dayTime
end
CLOSE date_cursor
DEALLOCATE date_cursor