如何通过Yii活动记录找到数据库中某列的最大值?
我可以用纯sql和createCommand方法来做,但是我想用Active Record和CDbCriteria class.is来做,有没有办法呢?
发布于 2012-08-30 04:56:03
您需要更改选择条件,如下所示。
$model = new Model;
$criteria=new CDbCriteria;
$criteria->select='max(column) AS maxColumn';
$row = $model->model()->find($criteria);
$somevariable = $row['maxColumn'];参考资料:
发布于 2013-08-08 12:12:16
这样可以避免创建不必要的临时对象:
$criteria = new CDbCriteria;
$criteria->select = 'max(column)';
// additional where conditions, if you so wish
$criteria->addColumnCondition(array('published' => 1));
$model = SomeModel::model();
$value = $model->commandBuilder->createFindCommand(
$model->tableName(), $criteria)->queryScalar();发布于 2014-04-04 14:20:50
你可以通过DESC来限制结果和排序,例如
$criteria = new CDbCriteria;
$criteria->order = 'column DESC';
$row = Model::model()->find($criteria);
$somevariable = $row->column;https://stackoverflow.com/questions/12186217
复制相似问题