sql >> Database >  >> RDS >> Mysql

Hoe 'distinct' te gebruiken in zend db-model

Met onderscheiden:

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

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

    return $rowCount;
}

BEWERKEN:Na de betreffende bewerking om het aantal volgers van een gebruiker te krijgen . Je moet eigenlijk groep . gebruiken NIET onderscheiden. Ik heb getest dat de volgende query werkt om de gegevens op te halen die moeten worden geteld()ed,

Ik heb de code niet getest, maar zoiets als dit zou moeten werken:

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. Een datetime-kolom in SQL Server nodig die automatisch wordt bijgewerkt wanneer de record wordt gewijzigd

  2. Bewaar alle gegevenswijzigingen met alle details (zoals Stackoverflow)

  3. Hoe te controleren of een variabele NULL is en deze vervolgens in te stellen met een MySQL-opgeslagen procedure?

  4. Fix Msg 512 "Subquery heeft meer dan 1 waarde geretourneerd" in SQL Server