MySQL是如何随机选取数据的

来源:百度文库 编辑:神马文学网 时间:2024/04/28 04:53:15

以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了。
SELECT * FROM table_name ORDER BY rand() LIMIT 5;
  MySQL的rand()函数在手册里是这么说的:
RAND()
RAND(N)
  返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。
  关于MySQL的rand()函数的效率问题,大家可以参考《MySQL Order By Rand()效率》:

  实际效果
mysql> select RAND();
-> 0.5925
mysql> select RAND(20);
-> 0.1811
mysql> select RAND(20);
-> 0.1811
mysql> select RAND();
-> 0.2079
mysql> select RAND();
-> 0.7888
  MySQ随机更新数据
  如何写一个语句能一下更新几百条MYSQL数据!
  需要测试MYSQL数据库,里面有一个上万条数据的数据库,如何写一个PHP文件一下每次更新几百条信息,我都是写一个循环一次更新一条信息,这样我知道用WHILE写就可以了,要是一次更新好比100条数据改如何写呢?
  正确答案是:UPDATE cdb_posts SET views = rand();
  气死在insert 命令中,value()里面用rand(),注意字段宽度是否够一直以为mysql随机查询几条数据,就用 
SELECT * FROM `table` ORDER BY RAND() LIMIT 5
  就可以了。