暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL 中随机抽样(转)

小邱说 2017-03-18
957

MySQL中 随机抽取实现方法

1) 采用官方的方式
select * from tb_name order by rand() limit N

2)采用类似偏移方式
select * from tb_name
where id >= (select floor(max(id) * rand()) from tb_name )
order by id asc limit N;

3)优化的方式
select *
from tb_name as r1 join
(select round(rand() *
(select max(id)
from tb_name)) as id2)
as r2
where r1.id >= r2.id2
order by r1.id asc
limit N;

上述方法,第一种效率最低,第三种最好。


文章转载自小邱说,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论