Php Yii-通过CDBC标准检索前10名
我到处找了,但似乎找不到这个问题的解释或答案 假设我有一个大约200多用户的数据库。用户表中有两个字段都必须是最高的,才能成为第一名用户。字段1比字段2更重要 例如:field1=5和field2=10的用户高于field1=5和field2=9的用户,但低于field1=6和field2=2的用户 我希望能够在所有用户中产生前10名。如果我能选择排名后10位或排名20到30位的用户,那也太好了 我使用Yii框架,因此它可能看起来像:Php Yii-通过CDBC标准检索前10名,php,mysql,yii,Php,Mysql,Yii,我到处找了,但似乎找不到这个问题的解释或答案 假设我有一个大约200多用户的数据库。用户表中有两个字段都必须是最高的,才能成为第一名用户。字段1比字段2更重要 例如:field1=5和field2=10的用户高于field1=5和field2=9的用户,但低于field1=6和field2=2的用户 我希望能够在所有用户中产生前10名。如果我能选择排名后10位或排名20到30位的用户,那也太好了 我使用Yii框架,因此它可能看起来像: $criteria = new CDbCriteria;
$criteria = new CDbCriteria;
$users = Users::model()->findAll($criteria);
非常感谢您的时间和努力:)使用
CDBCritia
,按如下方式指定您的订单:
$criteria->order=“field1,field2 DESC”代码>
应该先按字段1排序,然后按字段2排序,使用CDbCritria,如下所示指定您的顺序:
$criteria->order=“field1,field2 DESC”代码>
应该先按字段1排序,然后按字段2排序,您可以像在sql中一样使用CDbCriteria::limit
和CDbCriteria::order
。因此,从20到30中进行选择:
$criteria->order = 'field1 DESC, field2 DESC'
$criteria->limit = '20, 10';
您可以像在sql中一样使用CDbCriteria::limit
和CDbCriteria::order
。因此,从20到30中进行选择:
$criteria->order = 'field1 DESC, field2 DESC'
$criteria->limit = '20, 10';
很抱歉我错投了反对票。然后我的互联网断了,当它回来的时候,我的投票被锁定了。@topher别担心,兄弟:)+1对不起。我错投了反对票。然后我的互联网断了,当它回来的时候,我的投票被锁定了。@topher别担心,兄弟:)+1谢谢!这对我帮助很大。谢谢!这对我帮助很大。