public function statistics(&$rows) {
$statistics = parent::statistics($rows);
- $select = " SELECT COUNT({$this->_aliases['civicrm_contribution']}.total_amount ) as count, SUM( {$this->_aliases['civicrm_contribution']}.total_amount ) as amount, ROUND(AVG({$this->_aliases['civicrm_contribution']}.total_amount), 2) as avg, {$this->_aliases['civicrm_contribution']}.currency as currency ";
+ $select = "SELECT DISTINCT {$this->_aliases['civicrm_contribution']}.id";
- $group = "\nGROUP BY {$this->_aliases['civicrm_contribution']}.currency";
- $sql = "{$select} {$this->_from} {$this->_where} {$group}";
+ $group = "\nGROUP BY cc.currency";
+
+ $sql = "SELECT COUNT(cc.id) as count, SUM( cc.total_amount ) as amount, ROUND(AVG(cc.total_amount), 2) as avg, cc.currency as currency
+ FROM civicrm_contribution cc
+ WHERE cc.id IN ({$select} {$this->_from} {$this->_where}) {$group}";
$dao = CRM_Core_DAO::executeQuery($sql);
$totalAmount = $average = array();