用mysql获取随机数据的方法
数据非常缓慢,随机性非常好,适合非常小的数据量。
复制代码代码如下所示:
SELECT * FROM table_name为R1加入(选择(圆(RAND)(选择(* ABS(max(ID)- min(ID)至极限)从table_name)(选择)+ min(ID)从table_name)作为ID)为R2)在r1.id r2.id顺序r1.id ASC限制> $极限;
速度很快,但得到的数据是连续的,不能解决。
子查询产生一个随机数。
伦德()是一个随机数,从0到1,可以等于0到1。
MAX(ID)- min(ID)也将限制美元以防止结果被美元不到极限
因为主表ID可以是不连续的,r1.id希望> = r2.id
同样重要的是要注意,有时最小ID不是从1开始的,并且可能从一个大的数字开始,所以您必须添加m(id)的值。
与手册相关的内容:如果你想在这个范围内得到一个随机整数r,需要使用表达式层(i +)*(j(i + 1))。
例如,如果希望在7到12的范围内获得一个随机整数(包括7和12),可以使用以下语句:
复制代码代码如下所示:
选择楼层(7 +(伦德(*)* 6));
从测试中选择*()> 0.0005限制10;
0.0005,计算比例与随机质量有直接关系,如数据表、10000个数据和随机抽取的300个项目。然后需要将0.0005更改为(300 10000 = 0.03)。
这种方法不能保证每次能取多少,而且需要多次服用。
2和3的速度是快的,主要的区别是2总是返回限制数据,3机会(与青少年男孩分布)。2是连续数据,3是随机行。