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

Posted coolid

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 想要获取的数据条数;

1的查询时间>>2的查询时间>>5的查询时间>6的查询时间>4的查询时间>3的查询时间,也就是3的效率最高。

 


转 https://blog.csdn.net/xionglangs/article/details/50630758

以上是关于mysql实现随机获取几条数据的方法的主要内容,如果未能解决你的问题,请参考以下文章

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

mysql随机查询符合条件的几条记录

PHP如何实现在数据库随机获取几条记录

MySQL随机获取数据的方法,支持大数据量

Mysql动态生成字母+固定位数的随机数

thinkphp3.1怎么随机取数据库中几条记录