MySQL 随机查询若干条数据

Posted 知其黑、受其白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 随机查询若干条数据相关的知识,希望对你有一定的参考价值。

阅读目录

RAND()函数返回0(包括)和1(不包括)之间的随机数


语法:RAND(seed)
seed 可选的。如果指定了seed,则返回可重复的随机数序列。
如果未指定种子,则返回完全随机的数字。

SELECT * FROM `new_comments` ORDER BY RAND() LIMIT 2

测试了下 一个15万余条的库,查询5条数据,居然要8秒以上。

解决办法问题

SELECT * FROM new_comments
WHERE
	id >= (
		SELECT
			floor(RAND() * (
					(SELECT MAX(id) FROM new_comments) - 
					(SELECT MIN(id) FROM new_comments)
				) + (SELECT MIN(id) FROM new_comments)
			)
	)
ORDER BY
	id
LIMIT 2;

以上是关于MySQL 随机查询若干条数据的主要内容,如果未能解决你的问题,请参考以下文章

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

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

mysql随机查询记录的高效率方法

mysql随机取出n条数据

MYSQL:随机抽取一条数据库记录

查询数据库 MySQL iOS 应用程序