MySQL快速从60万行中选择10条随机行

如何最好地编写一个查询,从总共60万行中随机选择10行?

回答:

一个出色的职位,可以处理多种情况,从简单到有缺口,再到有缺口的不均匀。

http://jan.kneschke.de/projects/mysql/order-by-

rand/

对于大多数一般情况,这是您的操作方法:

SELECT name

FROM random AS r1 JOIN

(SELECT CEIL(RAND() *

(SELECT MAX(id)

FROM random)) AS id)

AS r2

WHERE r1.id >= r2.id

ORDER BY r1.id ASC

LIMIT 1

这假定id的分布是相等的,并且id列表中可能存在间隙。请参阅文章以获取更多高级示例

以上是 MySQL快速从60万行中选择10条随机行 的全部内容, 来源链接: utcz.com/qa/407906.html

回到顶部