1

I want to count for each of the values in the select. I need to know how many values there are in each a.merk, b.brandstof, a.bouwjaar, k.kleur, t.transmissie. So I need 5 different values. How can I do this?

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;
}

this is the output I get.

OUTPUT

In this function I execute the query.

public function actionSearchfilter($ac) {
    Yii::$app->response->format = Response::FORMAT_JSON;
    $query = Car::searchFilter()->where(['a.ac' => $ac, 'a.flag' => '1'])->all();
    return $query;
}

I only need to count the DISTINCT values.

Mike Lammers
  • 542
  • 9
  • 27

0 Answers0