1
我已经建立了与Yii2查询生成器下面的查询:在Yii2结合GROUP_CONCAT DISTINCT与COUNT查询
public function searchFilter() {
$query = (new Query())
->select([
'GROUP_CONCAT(DISTINCT(a.merk), ".", m.merk ORDER BY a.merk ASC) merk',
'GROUP_CONCAT(DISTINCT(b.brandstof) ORDER BY b.brandstof ASC) brandstof',
'GROUP_CONCAT(DISTINCT(a.bouwjaar) ORDER BY a.bouwjaar DESC) bouwjaar',
'GROUP_CONCAT(DISTINCT(k.kleur) ORDER BY k.kleur ASC) kleur',
'GROUP_CONCAT(DISTINCT(t.transmissie) ORDER BY t.transmissie ASC) transmissie',
])
->from('auto_new a')
->join('INNER JOIN', 'tbl_merken m', 'a.merk = m.merk_id') //Merk
->join('INNER JOIN', 'tbl_kleur k', 'a.kleur = k.kleur_id') //Kleur
->join('INNER JOIN', 'tbl_transmissie t', 'a.transmissie = t.transmissie_id') //Transmissie
->join('INNER JOIN', 'tbl_brandstof b', 'a.brandstof = b.brandstof_id'); //Brandstof
return $query;
}
这给了我下面的输出:
但现在我想要在DISTINCT中的每个值后添加一个计数。但我不知道该怎么做。
编辑 这是执行查询
public function actionSearchfilter($ac) {
Yii::$app->response->format = Response::FORMAT_JSON;
$query = Car::searchFilter()->where(['a.ac' => $ac, 'a.flag' => '1'])->all();
return $query;
}
给我看一个正常的sql示例..所以我可以evaluete你的目标 – scaisEdge
你能再多一些代码吗? –