使用 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;
我遇到了一个问题,需要我 运行 查询 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;