如何更新随机行?

时间:2014-03-05 14:05:42

标签: sql-server tsql

如何更新表格中的随机行?

我刚刚厌倦了流动的查询,但它更新了一个完整的表格。

UPDATE Table SET Flag = 1
WHERE EXISTS (
SELECT TOP 5000 *
FROM Table
ORDER BY newid()
)

1 个答案:

答案 0 :(得分:3)

我觉得这样的事情应该有效:

UPDATE Table
SET Flag = 1
FROM Table t1
INNER JOIN (
    SELECT TOP 5000 *
    FROM Table 
   ORDER BY NewID()
) t2 on t2.id = t1.id