我有一个如下所示的 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 子句的游标,但我是所有这些的新手。任何帮助将不胜感激。谢谢迪克
我有一个如下所示的 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 子句的游标,但我是所有这些的新手。任何帮助将不胜感激。谢谢迪克
您可以使用ROW_NUMBER
withPARTITION BY
子句。
SELECT
ColA,
ROW_NUMBER() OVER(PARTITION BY ColA ORDER BY ColA DESC) AS ColB
FROM MyTable
请注意,这将以任意顺序标记列。如果您有 ID 列,则可以ORDER BY
改为使用它。