1. 程式人生 > 其它 >YII2 欄位個數總和 查詢

YII2 欄位個數總和 查詢

$list = Cash::find()->alias('c')->select([
'sum(case when c.status = 0 then 1 else 0 end) count_1',
'sum(case when c.status = 1 then 1 else 0 end) count_2',
'sum(case when c.status = 2 or status = 5 then 1 else 0 end) count_3',
'sum(case when c.status = 3 then 1 else 0 end) count_4',
'sum(case when c.status = 6 then 1 else 0 end) count_6',
'count(1) total'
])->leftJoin(['u' => User::tableName()],'u.id = c.user_id')->where(['c.is_delete' => 0,'c.is_shop'=>0,'c.store_id' => $this->store_id])
->andWhere(['u.is_distributor' => 1])->asArray()->one();
$list = Cash::find()->alias('c')->select([
'sum(case when c.status = 0 then 1 else 0 end) count_1',
'sum(case when c.status = 1 then 1 else 0 end) count_2',
'sum(case when c.status = 2 or status = 5 then 1 else 0 end) count_3',
'sum(case when c.status = 3 then 1 else 0 end) count_4',
'sum(case when c.status = 6 then 1 else 0 end) count_6',
'count(1) total'
])->leftJoin(['u' => User::tableName()],'u.id = c.user_id')->where(['c.is_delete' => 0,'c.is_shop'=>0,'c.store_id' => $this->store_id])
->andWhere(['u.is_distributor' => 1])->asArray()->one();