mysql 随机读取数据库记录

本文介绍两种从数据库中进行随机查询的方法。一种通过计算最大和最小ID间的随机值来选取记录,这种方法在数据不足十项时可能产生不同数量的随机结果。另一种则是直接使用ORDER BY RAND()进行排序并限制结果数量,虽然查询速度较慢,但能确保每次返回相同数量的随机记录。

SELECT * FROM t_room WHERE fid >=
(((SELECT MAX(fid) FROM t_room) -(SELECT MIN(fid) FROM t_room)) * RAND() + (SELECT MIN(fid) FROM t_room)) LIMIT 10

以上写法如果数据不满10条,这有可能返回数据结果的条数也是随机的。

select  *  from  t_room  order  by  rand()  limit  10

以上写法查询速度相对慢点,但可以避免上面的漏洞
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值