我需要一些帮助来编写查询。
我有一种情况,我在数据库表中有近400000条记录。
我必须一次选择4000000行,并且每1000条记录我必须在循环中更新具有数值的列。
但是该数值必须每1000行增加一个。
例如,前1000行的数值为1.然后是第1000行,数值为2.重复该过程,所有记录都有一个值。
谢谢。
答案 0 :(得分:1)
这是sql server在黑暗中的总镜头。不知道这是正确的DBMS还是你的任何专栏。但无论你是否需要使用循环来做这类事情。
with MyCTE as
(
select *
, ROW_NUMBER() over (order by Something) as RowNum
from MyTable
)
update MyCTE
set SomeNumberColumn = (RowNum / 1000) + 1