SqlServer教程

SQL Server 更新字段值为ROW_NUMBER()

本文主要是介绍SQL Server 更新字段值为ROW_NUMBER(),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在SQL Server 已存在的表中,要Update字段值为排序了的行号,这里要用到开窗函数ROW_NUMBER()。

分两种情况看:

1、全表自动排序:

OrderNum为要更新的排序字段。Id为按照什么顺序重置排序数据。通过执行如下sql语句实现了上面的需求:

update T set OrderNum = rownum from(
        select OrderNum, ROW_NUMBER() over(order by Id) rownum from T_A
    ) T

 

2、带条件的重置排序。

把RoleId=2的所有数据按照id排序,重置OrderNum值。

update T set OrderNum = rownum from(
        select RoleId,OrderNum, ROW_NUMBER() over(order by Id) rownum from T_A where RoleId=2
    ) T where RoleId=2

 

这篇关于SQL Server 更新字段值为ROW_NUMBER()的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!