找回密码
 注-册

QQ登录

只需一步,快速开始

查看: 1456|回复: 1

[小技巧] mysql随机读取记录数

[复制链接]
Leya 发表于 2010-4-14 22:18:23 | 显示全部楼层 |阅读模式
本文实现了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()效率》:http://www.phpq.net/mysql/mysql-order-by-rand.html

实际效果
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
回复

使用道具 举报

980418 发表于 2010-4-15 00:51:36 | 显示全部楼层
太笨没看懂~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注-册

本版积分规则

Archiver|手机版|小黑屋|DoDVip ( 桂ICP备14000730号 )

GMT+8, 2024-5-3 13:29 , Processed in 0.052927 second(s), 20 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表