是否可以为特定列而不是SQL Server中的整个行插入不同值。 传统的UPDATE SET会将所有值都设置为相同的值。
例如,我想为3行中的每行设置一些int值到Rank列中,而不要删除它们并进行完整的新插入。
答案 0 :(得分:0)
使用row_number()
update a set ranking =rn from tablename a join
(select id,name, row_number() over(order by id) as rn
from tablename) b on a.id=b.id
答案 1 :(得分:0)
进行更新
update tabale
set ranking= your_va
with cte as
(
select * ,row_number() over(order by id) rn
) update cte set ranking=rn where id<=3
答案 2 :(得分:0)
您要将ranking
设置为什么值?
任意值:
update mytable set ranking = id;
某些值:
update mytable set ranking =
case name
when 'Positive' then 1
when 'Neutral' then 2
when 'Negative' then 3
else 4
end;