Sql server 2008 随着编号的增加更新订单列(取决于ID列)
我正在使用SQL Server 2008 现在我有如下描述的场景:Sql server 2008 随着编号的增加更新订单列(取决于ID列),sql-server-2008,Sql Server 2008,我正在使用SQL Server 2008 现在我有如下描述的场景: 1个表,共3列:ID、名称、顺序 他们有8项记录 5条记录具有相同的数据:ID='1',Name='AAA' 3条记录具有相同的数据:ID='2',Name='BBB' 现在,我想为每个ID、名称更新订单列,并增加编号(从1开始): 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 B
- 1个表,共3列:ID、名称、顺序
- 他们有8项记录
- 5条记录具有相同的数据:ID='1',Name='AAA'
- 3条记录具有相同的数据:ID='2',Name='BBB'
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
如果不使用游标,如何获得此结果
我非常感谢你的帮助
谢谢。您可以尝试以下方法。我使用CTE来驱动update语句
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
用您的表名替换表A是的,您的样品确实解决了我的问题。非常感谢你。