我有以下格式的表格
UserID SeqID RowNum
1 8041 0
1 8045 0
1 8045 0
2 6587 0
2 5624 0
我想根据RowNum
列更新userId
列,如下所示
UserID SeqID RowNum
1 8041 1
1 8045 2
1 8045 3
2 6587 1
2 5624 2
如何使用行号概念更新RowNum
列?
注意:它只是样本数据。所以我无法使用UserId
值进行硬编码更新。我在这张表中有数百万条记录。
提前致谢。
答案 0 :(得分:3)
在SQL Server中,您将使用row_number()
和CTE:
with toupdate as (
select t.*, row_number() over (partition by UserId order by SeqId) as seqnum
from table t
)
update toupdate
set rownum = seqnum;