2016-02-17 95 views
-1

假设我的表中有50000条记录的数据。我的目标是从表中获得10%的随机数据。如何在MYSQL/SQL中获得随机10%的数据

我知道我可以通过SELECT TOP 10 PERCENT获得前10%的数据。

但是如何获得随机10%的数据?

+1

'TOP'是SQL-Server中,没有MySQL的。你真的在使用哪个数据库? – Barmar

回答

0

使用select top 10 percent得到10% 和order by newid()获得随机选择

select top 10 percent * from [tablename] order by newid() 

对于mysql使用

select * from [tablename] order by rand() < (select (count(*)/10) from tablename) 

为你应该使用类似的替代查询一个很大的表。 请找到一个很好的例子here

0

在MySQL中,您可以通过使用rand()获得的10%的一个很好的近似:

select t.* 
from t 
where rand() < 0.1;