首页 / MySQL / 正文

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

5103 1 发布于: 2018-01-17 读完约需2分钟

[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数据库中插入操作时先判断数据是否存在,不存在则插入数据,存在则更新数据

下一篇: .NET[C#]C#中如何计算一个字符串中单词的个数?

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

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册