1.1实现分组编号功能 法一:SQL SERVER 2K declare @tab table(id int, str char(1)) insert @tab select null, 'A' union all select null, 'B' union all select null, 'B' union all select null, 'B' union all select null, 'C' union all select null, 'C' declare @str char(1) declare @i int set @str = '' set @i = 0 update @tab set @i = case when str = @str then @i + 1 else 1 end, @str = STR , id =@i select * from @tab /* id str ----------- ---- 1 A 1 B 2 B 3 B 1 C 2 C (6 行受影响) */ 法二:SQL SERVER 2K5 ;WITH LENO AS ( SELECT ID,STR,ROW_NUMBER()over(PARTITION by str order by str) Rownumber from @tab ) update LENO set id = Rownumber