在SQL Server中,我想要做的就是选择一个字段并为每一行分配一个随机数。将有超过1M的行,然后我将按随机数排序以选择前50K作为随机样本。
如果我这样做:
Select x, rand()*(50000-1)+1)
From Y
我得到了我想要的所有x,但它们每个都有相同的随机数。
答案 0 :(得分:1)
您可能不需要分配任何值,只需按伪随机值排序,然后选择start()
:
TOP
答案 1 :(得分:0)
如果您只使用随机数进行随机排序,则可以跳过随机数字段并使用
ORDER BY NEWID()