使用 MySql 语句,我如何 select 从 100 限制中随机 10 行?

Using MySql Statment, How can I select random 10 row from 100 limit?

我遇到了一个问题,需要我 运行 查询 select 数据 100 条记录(限制 100)中随机的 10 条记录,我的 table 的总记录是最多 9000 条记录。

你们对这个问题有什么想法吗?

获取 100 行并使用此查询随机获取 10 行。

MySQL

  • 修改后的解决方案

嵌入式 select 有 100 个限制,主 select 有随机 10 个限制。

SELECT * FROM
(SELECT * FROM employee LIMIT 100) `a` 
ORDER BY RAND() LIMIT 10;

或者您可以创建一个 table,您可以在其中存储前 100 行,然后 select 从中随机存储 10 行。

喜欢INSERT INTO tbl2 SELECT * FROM tbl1 LIMIT 100;

然后SELECT * FROM tbl2 ORDER BY RAND() LIMIT 10;

  • 旧解决方案
SELECT * FROM tbl1 a 
LEFT JOIN tbl1  b ON a.`col1`=b.`col1`
LIMIT 100, 10;