SqlServer中分组更新字段信息问题
假设有个表   info(id   int,info_id   varchar(5)),信息内容如下 
 id      info_id 
 1             
 1             
 1             
 1             
 4             
 4             
 8             
 8             
 8             
 8             
 我想根据表中字段id的信息,分组更新info_id的信息。使info_id在id基础上递增,例如:第一组有4条记录,id=1,那就更新info_id   从2—5;第二组id=4   两条记录,更新所有id=4对应的info_id,5—6   。 
 其他组以此类推,得到结果如下: 
 id      info_id 
 1            2 
 1            3 
 1            4 
 1            5 
 4            5 
 4            6 
 8            9 
 8            10 
 8            11 
 8            12   
 请高人指点怎么写
------解决方案--------------------/* 
 declare @id int,@info_id int 
 select @id = 0,@info_id=0 
 ------------------------ 
 @info_id 不需要初始化 
 @id 随便初始化一个值,保证 @id not in (select id from @T) 就行。 
 */   
 declare @T table(id int,info_id varchar(5)) 
 insert @T 
 select 1,null union all 
 select 1,null union all 
 select 1,null union all 
 select 1,null union all 
 select 4,null union all 
 select 4,null union all 
 select 8,null union all 
 select 8,null union all 
 select 8,null union all 
 select 8,null   
 declare @id int,@info_id int 
 set @id = 1000 
 update @T set @info_id=case when @id <> id then id+1 else @info_id+1 end,@id=id,info_id=@info_id 
 select * from @T   
 /* 
 id info_id 
 1 2 
 1 3 
 1 4 
 1 5 
 4 5 
 4 6 
 8 9 
 8 10 
 8 11 
 8 12 
 */