MySQL取出随机数据
把手册翻过来,找到下面的语句来完成任务。
选择table_name兰德为*(5)限制;
这就是伦德在手册中所说的:
(兰德)
兰德(N)
返回0到1范围内的随机浮点值。如果指定了整数参数n,则将其用作种子值。
选择;
> 0.5925
选择了兰德(20);
> 0.1811
选择了兰德(20);
> 0.1811
选择;
> 0.2079
选择;
> 0.7888
你不能使用rand()的条款的秩序价值,因为订单会重复很多次的列数。然而,在mysql3.23,你可以这样做:选择table_name兰德为*(),有利于获得随机样本的选择*从表1,表2表2而设置的。注意,RAND()在WHERE子句将重新评估每一次在执行。
但我试过,8000张表记录,执行需要0.08秒,。慢一些
后来,谷歌被要求获取以下代码
*选择
从table_name为R1的加入
(选择圆(兰德)*
(选择max(id))
从table_name))为ID)
R2
在r1.id = r2.id
通过r1.id ASC秩序
限制5;
执行效率需要0.02秒,但可惜的是,MySQL 4.1。*支持子查询。