怎么对数据库查询进行group by 和sum 操作

                用AR方式实现:
1.直接用findall
$result = Test::model()->findAll(array('select'=>'name, sum(record) as summary','group'=>'category'));


2.在model relation里声明一个聚合数据
public function relations() {
      'childrenSum'=>array(self::STAT,'Test','pid','select'=>'sum(pid)'),

}


-------------------------------------------

iya, saya juga berfikir demikian, :P

mungkin bisa pula melalui findAllBySql() http://www.yiiframework.com/doc/api/1.1/CActiveRecord#findAllBySql-detail

<?php    $sql="        SELECT                A.id,                 sum(B.price) as Total,                 count(B.B_id) as jumlah,                 max(B.price) as maks,                 min(B.price) as Min        FROM                 A INNER JOIN B ON A.ID=B.A_ID        ";    $data = A::model()->findAllBySql($sql);    foreach ($data as $dataItem)    {        echo $dataItem['id'];        echo "Total = ".$dataItem['Total'];        echo "Count = ".$dataItem['jumlah'];        echo "Min = ".$dataItem['Min'];        echo "Max = ".$dataItem['maks'];    }?>

           

猜你喜欢

转载自blog.csdn.net/qq_44910432/article/details/89459425