2014-03-05 87 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