2014-03-05 54 views
1

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

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

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

回答

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 
+0

这伟大工程。谢谢! – Dimt

+0

@Dimt不客气! – seph