kokocool
- kokocool 评论了教程 Linux 作为开发环境的方法分享
支持楼主!发文才是王道
顶!d=====( ̄▽ ̄*)b
- kokocool 2016-09-28 已签到连续签到12天,获得了20个金钱
- kokocool 回答了问题 怎么往layouts里面传数据?
推荐个链接,进去看看 http://www.yiichina.com/question/362
- kokocool 赞了回答
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;
- kokocool 2016-09-24 已签到连续签到8天,获得了20个金钱
- kokocool 回答了问题 mysql查询怎么随机获取数据?
上述方法,第一种效率最低,第三种最好。
- kokocool 回答了问题 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;