[英]Update table with a WITH and over partition diffuculty
我正在嘗試在表中添加一列重復的線性數字,這些線性數字在287處停止並重復。 該代碼的工作方式是更新表,但所有行均為零,而不是我想要的數字。 With子句起作用,因為我可以看到它在與select一起使用時起作用,因為更新已完成。
WITH myupdate (myrownumber)
AS (SELECT ( Row_number()
OVER (
partition BY tmc, date
ORDER BY tmc, date, epoch) - 1 ) AS myRowNumber
FROM [dbo].[i40_2016_all])
--SELECT * FROM myUpdate
UPDATE [dbo].[i40_2016_all]
SET mod_epoch = myrownumber
FROM myupdate
我的猜測是您正在使用SQL Server。 我認為您想要的語法如下所示:
WITH myUpdate AS (
SELECT a.*,
ROW_NUMBER() over (PARTITION BY TMC, DATE ORDER BY TMC, DATE, EPOCH) - 1 AS myRowNumber
FROM [dbo].[I40_2016_ALL] a
)
UPDATE myUpdate
SET MOD_EPOCH = myRowNumber;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.