sql >> Databáze >  >> RDS >> Mysql

Jak používat 'distinct' v modelu Zend db

Použití odlišného:

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

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

    return $rowCount;
}

UPRAVIT:Po příslušné úpravě získáte počet sledujících uživatele . Ve skutečnosti musíte použít skupinu NENÍ zřetelné. Testoval jsem, jak funguje následující dotaz k načtení dat, která mají být count()ed,

Kód jsem netestoval, ale něco takového by mělo fungovat:

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. Zobrazit součet na konci sloupce v mysql

  2. Dezinfikuji/uteču správně?

  3. Jak povolím protokol pomalých dotazů MySQL?

  4. SQL SERVER – jeden trik pro manipulaci s dynamickým SQL, abyste se vyhnuli útoku SQL Injection?