mysql查询怎么随机获取数据?

weixin_38054276 2019-09-11 02:47:20
用Yii框架模型怎么写随机获取数据?不是用sql语句,求帮忙, /* * 随机获取10道题 */ public function getRandquestions(){ return $this->find()->offset(0)->limit(10)->asArray()->all(); }
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38065106 2019-09-11
  • 打赏
  • 举报
回复
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;
weixin_38069088 2019-09-11
  • 打赏
  • 举报
回复
上述方法,第一种效率最低,第三种最好。
weixin_38088709 2019-09-11
  • 打赏
  • 举报
回复
User::find()->asArray()->orderBy('RAND()')->all();

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧