如何基于对其他列进行排序来自动增加更新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 no看起来像NewSrNo
答案 0 :(得分: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