• 技术文章 >后端开发 >PHP问题

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

    藏色散人藏色散人2022-01-06 09:09:57原创798

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

    本文操作环境: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怎么随机获取几条数据的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php mysql
    上一篇:php怎么将数值转换为布尔类型 下一篇:网页怎么隐藏index.php
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• php怎么获取数组中有几个元素• 爆肝整理MySQL数据库命令合集(总结分享)• php中的标量数据类型有哪几种• mysql怎么查询包含指定字符串的数据
    1/1

    PHP中文网