SQL Server Update字段值为ROW_NUMBER()

1、全表自动排序。OrderNum为要更新的排序字段。Id为按照什么顺序重置排序数据。

update 表名 set OrderNum = rownum from(
        select OrderNum, ROW_NUMBER() over(order by Id) rownum from 表名
    ) 表名


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

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

猜你喜欢

转载自blog.csdn.net/tiemufeng1122/article/details/51202611