我有一个看起来像的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子句的游标,但我是所有这些的新手。任何帮助将不胜感激。 谢谢 迪克
答案 0 :(得分:2)
您可以将ROW_NUMBER
与PARTITION BY
子句一起使用。
SELECT
ColA,
ROW_NUMBER() OVER(PARTITION BY ColA ORDER BY ColA DESC) AS ColB
FROM MyTable
请注意,这将按任意顺序标记列。如果您有ID列,则可以ORDER BY
代替。