Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwendung von „distinct“ im Zend-DB-Modell

Verwendung von „distinct“:

public function countFollowers($user_id) 
{
    $select = $this->select()
              ->distinct()
              ->where('user_id = ?', $user_id);

    $rowset = $this->fetchAll($select);
    $rowCount = count($rowset);

    return $rowCount;
}

EDIT:Nach der fraglichen Bearbeitung, um die Anzahl der Follower eines Benutzers zu erhalten . Sie müssen tatsächlich group verwenden NICHT eindeutig. Ich habe die folgende Abfrage getestet, um die zu zählenden Daten abzurufen,

Ich habe den Code nicht getestet, aber so etwas sollte funktionieren:

public function countFollowers($user_id) 
{
    $select = $this->select()
              ->where('user_id = ?', $user_id)
              ->group(array('user_id', 'follower_id')); 

    $rowset = $this->fetchAll($select);
    $rowCount = count($rowset);

    return $rowCount;
}