Yii - 通过CDbCriteria检索前10名

时间:2014-11-30 17:51:18

标签: php mysql yii

我到处寻找,但我似乎无法找到这个问题的解释或答案。

我们说我有一个大约200多个用户的数据库。用户表中有两个字段需要都是最高的,才能成为头号用户。 Field1比field2更重要。

例如: field1 = 5 field2 = 10 的用户高于 field1 = 5 field2 = 9 但低于 field1 = 6 field2 = 2 的用户。

我希望能够产生所有用户的前10名。如果我可以选择排名最低的10或排名为20到30的用户,那就太棒了。

我使用Yii框架,所以它可能看起来像:

 $criteria = new CDbCriteria;
 $users = Users::model()->findAll($criteria);

非常感谢您的时间和精力:)

2 个答案:

答案 0 :(得分:2)

使用CDbCritria,请按以下方式指定您的订单:

$criteria->order = "field1, field2 DESC";

应首先按字段1排序然后按字段2

排序

答案 1 :(得分:2)

您可以像在sql中一样使用CDbCriteria::limitCDbCriteria::order。所以从20到30中选择:

$criteria->order = 'field1 DESC, field2 DESC'
$criteria->limit = '20, 10';