0

我有一个如下所示的 SQL 表:

ColA   ColB
xyz     0
xyz     0
xyz     0
uvw     0
uvw     0
stu     0

我想更新为:

ColA   ColB
xyz     1
xyz     2
xyz     3
uvw     1
uvw     2
stu     1

我想我需要一个带有嵌套 while 子句的游标,但我是所有这些的新手。任何帮助将不胜感激。谢谢迪克

4

1 回答 1

2

您可以使用ROW_NUMBERwithPARTITION BY子句。

SELECT
    ColA,
    ROW_NUMBER() OVER(PARTITION BY ColA ORDER BY ColA DESC) AS ColB
FROM MyTable

请注意,这将以任意顺序标记列。如果您有 ID 列,则可以ORDER BY改为使用它。

于 2013-02-19T23:54:03.730 回答