在sql中使用rand()函数时遇到问题

时间:2016-04-27 17:53:44

标签: sql sql-server

在SQL Server中,我想要做的就是选择一个字段并为每一行分配一个随机数。将有超过1M的行,然后我将按随机数排序以选择前50K作为随机样本。

如果我这样做:

Select x, rand()*(50000-1)+1) 
From Y 

我得到了我想要的所有x,但它们每个都有相同的随机数。

2 个答案:

答案 0 :(得分:1)

您可能不需要分配任何值,只需按伪随机值排序,然后选择start()

TOP

答案 1 :(得分:0)

如果您只使用随机数进行随机排序,则可以跳过随机数字段并使用

ORDER BY NEWID()