Voglio scoprire quante righe ci sono in una tabella. Il database che sto usando è un database MySQL. Ho già una classe Db_Table che sto utilizzando per chiamate come fetchAll()
. Ma non ho bisogno di informazioni dal tavolo, solo il conteggio delle righe. Come posso ottenere un conteggio di tutte le righe nella tabella senza chiamare fetchAll()
?Zend_Db: come ottenere il numero di righe da una tabella?
risposta
$count = $db->fetchOne('SELECT COUNT(*) AS count FROM yourTable');
Si potrebbe fare un
SELECT COUNT(*)
FROM your_table
$dbo->setFetchMode(Zend_Db::FETCH_OBJ);
$sql = 'SELECT COUNT(*) AS count FROM @table';
$res = $dbo->fetchAll($sql);
// $res[0]->count contains the number of rows
Conteggio righe con fetchAll
considerato dannoso.
Ecco come farlo nel modo Zend_Db_Select:
$habits_table = new Habits(); /* @var $habits_table Zend_Db_Table_Abstract */
$select = $habits_table->select();
$select->from($habits_table->info(Habits::NAME), 'count(*) as COUNT');
$result = $habits_table->fetchRow($select);
print_r($result['COUNT']);die;
capacità
Perché dite "Il conteggio delle righe con fetchAll è considerato dannoso"? – Andrew
Beh, stai caricando l'intero tavolo nella memoria ... –
Add conteggio alla Zend_Db oggetto Per contare tutte le righe della tabella
public function count()
{
return (int) $this->_table->getAdapter()->fetchOne(
$this->_table->select()->from($this->_table, 'COUNT(id)')
);
}
Non funzionerebbe con il filtraggio - guarda la mia risposta ... –
Continua a leggere, la domanda non riguardava il filtraggio! –
Ah. Scusa :(Se modifichi la risposta (singolo carattere lo farò) sarei in grado di ripristinare la downvote ... :) –
corretta Zend-modo è quello di utilizzare Zend_Db_Select così:
$sql = $table->select()->columns(array('name', 'email', 'status'))->where('status = 1')->order('name');
$data = $table->fetchAll($sql);
$sql->reset('columns')->columns(new Zend_Db_Expr('COUNT(*)'));
$count = $table->getAdapter()->fetchOne($sql);
Ecco come è stato fatto in Zend_Paginator. Altra opzione è quella di aggiungere SQL_CALC_FOUND_ROWS
prima del tuo elenco di colonne e quindi ottenere il numero di righe trovate con questa query:
$count = $this->getAdapter()->fetchOne('SELECT FOUND_ROWS()');
che cos'è $ table? –
è istanza Zend_Db_Table. Oppure può essere anche Zend_Db_Adapter. Il metodo è in entrambi. Restituisce Zend_Db_Table_Rowset per DbTable e array per Adapter ... –
Questa risposta è particolarmente utile se devi contare i risultati di una query forzata che hai perso il set di risultati originale per ... +1 – nzn
Sono un po 'minimalista:
public function count()
{
$rows = $db->select()->from($db, 'count(*) as amt')->query()->fetchAll();
return($rows[0]['amt']);
}
Può essere utilizzato genericamente su tutti tabelle.
- 1. Come ottenere il numero di righe nella tabella di Cassandra
- 2. Come ottenere il numero di righe inserite da una transazione
- 3. MySQL ottiene il numero di righe in una tabella innodb
- 4. MySql ottenere il numero di righe
- 5. Ottieni il numero di righe in una tabella HTML
- 6. ottenere il numero di righe da un'istruzione Select
- 7. Ottenere il conteggio delle righe per una tabella in MySQL?
- 8. MYSQL - numero di righe in ogni tabella
- 9. Rimozione di righe duplicate da una tabella
- 10. Attiva/disattiva il numero variabile di righe di tabella
- 11. Come ottenere il numero di righe cancellate in PostgreSQL?
- 12. Ottieni il numero di righe nella tabella utilizzando SQLAlchemy
- 13. Numero di righe tabella direttiva angolare
- 14. Come ottenere il numero di righe utilizzando SqlDataReader in C#
- 15. Ottenere il numero totale di righe in Entity Framework
- 16. Come ottenere il numero di righe di un GridView?
- 17. Numero massimo (utilizzabile) di righe in una tabella Postgresql
- 18. php ottenere il numero da una stringa
- 19. Come ottenere il numero di righe interessate in sqlalchemy?
- 20. GridView: come impostare il numero di righe da visualizzare
- 21. Ottenere 3 record casuali da una tabella
- 22. Come ottenere il conteggio delle righe da un database azzurro?
- 23. Numero massimo di righe in una tabella sqlite?
- 24. come ottenere il numero totale di righe con mysqli
- 25. Cassandra cql: come selezionare ULTIME n righe da una tabella
- 26. Come ottenere dati da una tabella J?
- 27. Generazione di una tabella MySQL da 150 milioni di righe
- 28. Come contare il numero di righe in una tabella di database in Django
- 29. come ottenere l'ultimo ID di un database Sqlite utilizzando Zend_Db
- 30. Come ottenere il numero di righe del risultato selezionato da sqlite3?
+1 per fetchOne invece di fetchRow –