我正在尝试更新表中的列以使用值1到(由记录数决定的最大数量).
我不知道我是否正确解释这一点,所以我设置了一个sqlFiddle,其中包含我正在尝试更新的数据.
我想将Version列设置为1到(最大数量).
有没有办法将此查询重写为版本号的缩放?
在,我希望第一个记录使用1,第二个记录使用2,依此类推……
UPDATE Documents SET Version = 1
解决方法
您可以使用CTE并且没有连接:
with RankedDocument as ( select *,rn = row_number() over (order by ID) from Documents ) update RankedDocument set Version = rn