我正在使用SQL Server 2008.
现在我的情况如下所示:
现在我想更新每个ID的名称增加(从1开始)的Order列,名称:
No Name Order
1 AAA 1
1 AAA 2
1 AAA 3
1 AAA 4
1 AAA 5
2 BBB 1
2 BBB 2
2 BBB 3
如何在不使用游标的情况下获得此结果?
我非常感谢您的帮助。
感谢。
答案 0 :(得分:2)
您可以尝试以下操作。我使用CTE来驱动更新语句
WITH data AS
(
SELECT Order
, ROW_NUMBER() OVER (PARTITION BY ID, NAME
ORDER BY ID, NAME) AS Seq
FROM TableA
)
UPDATE data
SET Order = Seq
用表名
替换TableA