繁体   English   中英

使用 ROW_NUMBER 更新列

[英]update column using ROW_NUMBER

我正在尝试使用 ROW_NUMBER() 更新列,但有时会起作用,有什么问题? 这是指令:

update temp1 set temp1.RowNumber = m.RowID
from
(
    select ROW_NUMBER() OVER (ORDER BY t.id_pv) as 'RowID', id_pv
    from temp1 t
) m
where temp1.id_pv = m.id_pv

这是更新前后的两列表

在此处输入图片说明

如果我只运行:

select ROW_NUMBER() OVER (ORDER BY t.id_pv) as 'RowID', id_pv from temp1 t

它就像一个魅力。 想法?

如果id_pv不是唯一的,那么选择将不会产生稳定的结果。 您可能需要添加ORDER BY子句独有的另一列以稳定排序。 这应该会产生可重复的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM