【问题标题】:How to auto increment update a column in a SQL Server table如何自动递增更新 SQL Server 表中的列
【发布时间】:2015-12-28 03:41:43
【问题描述】:

如何根据对其他列的排序自动递增更新 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

【问题讨论】:

  • "I want to update old sr no to look like NewSrNo" - 你能做到吗?:UPDATE MyTable SET OldSrNo = NewSrNo

标签: sql-server


【解决方案1】:

你在问这个吗,

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  

【讨论】:

    猜你喜欢
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 2021-03-06
    • 2012-01-13
    • 1970-01-01
    • 2014-04-15
    相关资源
    最近更新 更多