[英]PHP Yii criteria select random records with limit
我在問題模型中有1000個問題。 如何使用Yii標准隨機選擇10000個問題中的50個問題?
我使用Mysql作為Db
到目前為止,我已嘗試過以下內容
$criteria = new CDbCriteria;
$criteria->limit = 50;
$criteria->select = array('id');
$criteria->addCondition('chapter = xyz');
如果您使用的是MySQL,那么它是:
$criteria->order = 'RAND()';
(從@topher回復更新)
在大量行上使用此技術需要很長時間( 源 ):
只要有10000行,排序行的開銷就變得很重要。
在這種情況下,請參考以下答案:
最簡單的解決方案:rand的mysql命令
$criteria->order('RAND()');
但是來自http://jan.kneschke.de/projects/mysql/order-by-rand/
只要有10000行,排序行的開銷就變得很重要。
如何有效地獲取隨機行已經得到了回答: MySQL快速從600K行中選擇10個隨機行
$criteria->order(array('RAND()'));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.