我到处找过,但我似乎找不到这个问题的解释或答案。
假设我有一个大约 200+ 用户的数据库。用户表中有两个字段都需要最高,才能成为第一用户。字段 1 比字段 2 更重要。
例如:字段 1 = 5 且字段 2 = 10 的用户高于字段 1 = 5 且字段 2 =9 的用户,但低于字段 1 = 6 且字段 2 =2 的用户。
我希望能够生成所有用户的前 10 名。如果我可以选择排名倒数前 10 名或排名 20 到 30 的用户,那就太好了。
我使用 if Yii 框架,所以它可能看起来像这样:
$criteria = new CDbCriteria;
$users = Users::model()->findAll($criteria);
非常感谢您的时间和精力:)
你可以
像在sql中一样使用CDbCriteria::limit
和CDbCriteria::order
。所以从 20 到 30 中选择:
$criteria->order = 'field1 DESC, field2 DESC'
$criteria->limit = '20, 10';
使用 CDbCritria
,像这样指定您的顺序:
$criteria->order = "field1, field2 DESC";
这应该先按字段 1 排序,然后按字段 2 排序