假设我的表中有50000条记录的数据。我的目标是从表中获得10%的随机数据。如何在MYSQL/SQL中获得随机10%的数据
我知道我可以通过SELECT TOP 10 PERCENT
获得前10%的数据。
但是如何获得随机10%的数据?
假设我的表中有50000条记录的数据。我的目标是从表中获得10%的随机数据。如何在MYSQL/SQL中获得随机10%的数据
我知道我可以通过SELECT TOP 10 PERCENT
获得前10%的数据。
但是如何获得随机10%的数据?
使用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
在MySQL中,您可以通过使用rand()
获得的10%的一个很好的近似:
select t.*
from t
where rand() < 0.1;
'TOP'是SQL-Server中,没有MySQL的。你真的在使用哪个数据库? – Barmar