您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

MySQL快速从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 2022/1/1 18:14:42 有567人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶