我有Table Job,其中有一个列名MainJob_Id名称 所以我只想将Container_TypeId列值更新为1,2,3 ...继续... 当MainJob_id相同时...
其他MainJob_id是新的,然后从1重新开始
预期结果
答案 0 :(得分:3)
尝试使用可更新的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;
但是,您可能不希望执行此更新,而只是在查询时选择所需的顺序。