网上找了很多都不是很好用,而且不自由,都是同一个封装方法复制来复制去的
这里,我收集了几个方法还算自由
sql实现
SELECT * FROM T_USER ORDER BY RAND() LIMIT 10
直接用order by rand()肯定是性能不高
这种要很好多
select * from articles where id>=(select floor(rand() * (select max(id) from articles))) order by id limit 10
说明:
rand函数返回0,1的随机数,然后再乘上表中的最大id,再向下取整,最后用id大于或等于这个数再order by排序,再用limit限制一下,可以高效地查出来。
php程序实现
实现原理就是先得到最大的id值,然后再随机生成5个随机id数组再通过
in查询即可
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。