PHP+MySQL随机选取数据
网络整理 - 08-10
本文实现了MySQL的随机数、MySQ随机选取数据、MySQ随机查询数据、MySQ随机更新数据。MySQ随机查询数据
以前在群里讨论过这个问题,比较的有意思。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()效率》:。
实际效果:
> 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