gpt4 book ai didi

sql-server - 如何在 UPDATE 子句中使用 ROW_NUMBER()?

转载 作者:行者123 更新时间:2023-12-01 19:09:15 25 4
gpt4 key购买 nike

ROW_NUMBER()仅适用于SELECT MS SQL Server 中的条款,但我想用它进行更新,如下所示:

Update MyTab Set MyNo = 123 +  ROW_NUMBER() over (Order By ID)
Where a=b;

然后我得到了类似的错误,

Windowed functions can only appear in the SELECT or ORDER BY clauses.

如何使用ROW_NUMBER()UPDATE条款?

最佳答案

您可以使用 CTE:

;WITH RowNbrs AS (
SELECT ID
, ROW_NUMBER() OVER (ORDER BY ID) AS RowNbr
FROM MyTab
WHERE a = b
)
UPDATE t
SET t.MyNo = 123 + r.RowNbr
FROM MyTab t
JOIN RowNbrs r ON t.ID = r.ID;

关于sql-server - 如何在 UPDATE 子句中使用 ROW_NUMBER()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19124662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com