貌似好久没写日志了
今天在手册中查rand()用法时,无意发现了mt_rand()这个函数。
很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。该函数用了 » Mersenne Twister 中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。
手册真的是个好东西呀,时常查查手册,也能发现不少小技巧,呵呵。
貌似好久没写日志了
今天在手册中查rand()用法时,无意发现了mt_rand()这个函数。
很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。该函数用了 » Mersenne Twister 中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。
手册真的是个好东西呀,时常查查手册,也能发现不少小技巧,呵呵。
RAND()是Mysql中的取随机数函数,该函数返回一个float型数值v,v的值为0<v<1.0。
例如:
1 2 3 4 5 6 7 8 9 10 11 12 | mysql> SELECT RAND(); -> 0.9233482386203 mysql> SELECT RAND(20); -> 0.15888261251047 mysql> SELECT RAND(20); -> 0.15888261251047 mysql> SELECT RAND(); -> 0.63553050033332 mysql> SELECT RAND(); -> 0.70100469486881 mysql> SELECT RAND(20); -> 0.15888261251047 |
我们可以使用ORDER BY RAND()取得随机排列的一组数据,例如:
1 | mysql> SELECT * FROM tbl_name ORDER BY RAND(); |
将ORDER BY RAND()与LIMIT搭配使用,还可以取得固定条数的随机记录,例如:
1 | mysql> SELECT * FROM `wzy_questions` ORDER BY RAND() LIMIT 1; |