首页 > 解决方案 > 用于更正数据的 Sql 脚本

问题描述

我在表中有以下数据:

Id      | InventoryId | RevisionId
-----------------------------------
1001    |   1234    |   1
1002    |   2235    |   1
1003    |   2235    |   2
1004    |   2235    |   2
1005    |   2235    |   3
1006    |   2235    |   4
1007    |   3234    |   1
1008    |   3234    |   2
1009    |   3234    |   3
1010    |   3234    |   3
1011    |   3234    |   4
1012    |   3234    |   5
1013    |   3234    |   5
1014    |   3234    |   6

我想编写一个脚本,通过以下方式为我提供数据校正

Id   |  InventoryId | RevisionId
---------------------------------
1001    |   1234    |   1
1002    |   2235    |   1
1003    |   2235    |   2
1004    |   2235    |   3
1005    |   2235    |   4
1006    |   2235    |   5
1007    |   3234    |   1
1008    |   3234    |   2
1009    |   3234    |   3
1010    |   3234    |   4
1011    |   3234    |   5
1012    |   3234    |   6
1013    |   3234    |   7
1014    |   3234    |   8

我们可以用 SQL 脚本做到这一点吗?

有什么建议么?

标签: sqlsql-serversql-scripts

解决方案


利用row_number()

select *, row_number() over(partition by InventoryId order by id) as newRevisionId
from tablename 

推荐阅读