2015-12-28 43 views
-5

如何根据排序等栏目,并重新启动在其他列值发生变化后的增量在SQL Server表自动增量更新的列。如何自动增量更新在SQL Server表中的列

我的表结构和数据是这样的:

Name Class OldSrNo NewSrNo 
---------------------------- 
aa  1  1  1 
bb  1  2  2 
aa  1  3  3 
bb  2  4  1 
cc  2  5  2 
dd  2  6  3 
aa  2  7  4 

我想更新旧SR没有看起来像NewSrNo

+1

'“我想更新旧SR没有看起来像NewSrNo“' - 你能不能做到这一点?:'UPDATE MyTable的SET OldSrNo = NewSrNo' – David

回答

0

你问这个,

Declare @t table (Name varchar(50), Class int, OldSrNo int) 
insert into @t values 
('aa',  1,  1)  
,('bb',  1,  2)   
,('aa',  1,  3)   
,('bb',  2,  4)   
,('cc',  2,  5)   
,('dd',  2,  6)   
,('aa',  2,  7) 

select *, 
row_number()over(partition by class order by class)NewSrNo 
from @t