首页 技术文章 后端开发 php mysql怎么随机获取几条数据
正文 评论

php mysql怎么随机获取几条数据

php mysql随机获取几条数据的方法:1、通过“SELECT * FROM tablename ORDER BY RAND() LIMIT”获取数据;2、通过“ORDER BY t1.id ASC LIMIT”方式获取指定条数的数据等。

php mysql怎么随机获取几条数据

本文操作环境:Windows7系统、PHP7.1版、Dell G3电脑。

php mysql怎么随机获取几条数据?

mysql实现随机获取几条数据的方法

sql语句有几种写法:

1:SELECT * FROM tablename ORDER BY RAND() LIMIT 想要获取的数据条数;

2:SELECT *FROM `table` WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` ) ORDER BY id LIMIT 想要获取的数据条数;

3:SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2.id

ORDER BY t1.id ASC LIMIT 想要获取的数据条数;

4:SELECT * FROM `table`WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) FROM `table`))) ORDER BY id LIMIT 想要获取的数据条数;

5:SELECT * FROM `table` WHERE id >= (SELECT floor( RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`)) + (SELECT MIN(id) FROM `table`))) ORDER BY id LIMIT 想要获取的数据条数;

6:SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`))+(SELECT MIN(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 想要获取的数据条数;

反馈:

实测 38万数据,随机取10条 1 可以随机取值,执行时间1-2秒。 2 运行超过20秒没反应,试了3次。 3 取的10条数据是连续的ID,执行0.001秒。 4 随机取10条,id在1-4000之间,执行0.003秒,试了10次以上。 5 随机取10条,id在1-4000之间,执行0.003秒,试了10次以上。 6 取的10条数据是连续的ID,执行0.001秒。

推荐学习:《PHP视频教程》

以上就是php mysql怎么随机获取几条数据的详细内容,更多请关注主题君其它相关文章!

-=||=-收藏赞 (0)
更多主题
单栏极简文艺WordPress博客主题:Diaspora主题
¥ 0 关注:20,335
详情
简约黑白WordPress个人博客主题:Personal主题
¥ 0 关注:20,182
详情
v1.0.0
小程序收录免费WordPress主题:XCX主题
¥ 0 关注:19,956
详情
v1.0.0
一款简约单栏的免费WordPress博客主题:itheme主题
¥ 0 关注:18,219
详情
功能丰富切轻量的WordPress虚拟资源主题:Rizhuti主题
¥ 599 关注:18,174
详情
大气优雅免费WordPress博客主题:HONEY主题
¥ 0 关注:15,001
详情
回复
暂无评论

不要再留垃圾评论了,主题君整理资源不容易,留几句鼓励的话吧。