[MySQL]MySQL数据库中从百万条数据表中随机10条数据的查询方式有哪些?

MySQL 作者: Rector 117阅读 0评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

[MySQL]MySQL数据库中从百万条数据表中随机10条数据的查询方式有哪些?

问题描述

如题,MySQL数据库中从百万条数据表中随机10条数据的查询方式有哪些?

方案一

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

方案二

SELECT *
FROM random, (
        SELECT id AS sid
        FROM random
        ORDER BY RAND( )
        LIMIT 10
    ) tmp
WHERE random.id = tmp.sid;

方案三

SELECT * FROM tbl WHERE id IN 
    (SELECT id FROM (SELECT id FROM tbl ORDER BY RAND() LIMIT 10) t)

阅读了该文章的人还浏览了...

本文永久链接码友网 » [MySQL]MySQL数据库中从百万条数据表中随机10条数据的查询方式有哪些?

发布于: 2018-01-17 09:22:36
分享扩散:

文章评论

获取验证码