sql – 如何将表的列更新为缩放值

我正在尝试更新表中的列以使用值1到(由记录数决定的最大数量).

我不知道我是否正确解释这一点,所以我设置了一个sqlfiddle,其中包含我正在尝试更新的数据.

SQL FIDDLE

我想将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

SQL Fiddle with demo.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...