这听起来应该相当直接,但我很难找到答案。我使用的是Yii,一张表有4条记录,每条记录都有一个值,我希望能够计算出这个值不明显的地方
这是我目前的职能
public function getSessionsDistinctCount(){
// Create DBCriteria
$criteria = new CDbCriteria();
$criteria->select = 'event_id';
$criteria->distinct = false;
// Find All related sessions
$model = Session::model()->findAll($criteria);
$count = count($model);
return $count;
}
我的tbl看起来像这样;
id | event_id | title
1 | 2 | name1
2 | 3 | name2
3 | 4 | name3
4 | 4 | name5
我希望这返回2的值 - 我该怎么做?
答案 0 :(得分:0)
应该是
public function getSessionsDistinctCount(){
// Create DBCriteria
$criteria = new CDbCriteria();
$criteria->select = 'event_id';
$criteria->group = 'event_id';
// Count events that appear at least twice
$criteria->having = 'COUNT(*) > 1';
// Find All related sessions
$count = Session::model()->count($criteria);
return $count;
}