Sql更新语句中的服务器查询问题

Sql Server query problem in Update Statement

我有 Table 个工作,其中我有一个列名称 MainJob_Id 名称 所以我只想将 Container_TypeId 列值更新为 1,2,3...继续... 当 MainJob_id 相同时...

else MainJob_id 是新的然后从 1

重新开始

预期结果

尝试使用可更新的 CTE:

WITH cte AS (
    SELECT ContainerTypeId,
        ROW_NUMBER() OVER (PARTITION BY MainJob_Id ORDER BY LengthId DESC) rn
    FROM yourTable
)

UPDATE cte
SET ContainerTypeId = rn;

但是,您可能不想执行此更新,而只是 select 您在查询时想要的序列。