2015-12-28 82 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