sql >> Databasteknik >  >> RDS >> Mysql

Hur man använder "distinct" i zend db-modellen

Använder distinkt:

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

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

    return $rowCount;
}

EDIT:Efter redigeringen i fråga för att få antalet följare av en användare . Du måste faktiskt använda grupp INTE distinkt. Jag har testat att följande fråga fungerar för att hämta data som ska räknas()ed,

Jag har inte testat koden, men något sånt här borde fungera:

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


  1. Vad är databasen, varför databas?

  2. Kan du skapa ett index i CREATE TABLE-definitionen?

  3. NULL vs DEFAULT NULL vs NULL DEFAULT NULL i MYSQL-kolumnskapande?

  4. Hur man visar serverkollationen i MySQL