从SQLServer表中选择n个随机行我有一个SQL Server表,其中包含大约50,000行。我想随机选择其中的5,000行。我想到了一种复杂的方法,创建一个带有“随机数”列的临时表,将我的表复制到其中,循环遍历临时表,然后用RAND(),然后从该表中选择随机数列<0.1的表。如果可能的话,我正在寻找一种更简单的方法。这篇文章建议使用NEWID()功能。这看起来很有希望,但我不知道如何可靠地选择一定百分比的行。以前有人这么做过吗?有什么想法吗?
3 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
TABLESAMPLE
TABLESAMPLE
select top 1 percent * from [tablename] order by newid()
select * from [tablename] tablesample(1 percent)
TABLESAMPLE
newid()
.
newid()
添加回答
举报
0/150
提交
取消