'tis 4 anni dopo l'ultima risposta, ma questo è come ho risolto il problema. Sebbene la risposta di SaltLake abbia prodotto un errore per me, mi ha portato alla risposta corretta.
SELECT SQL_CALC_FOUND_ROWS * FROM wholedatabase LIMIT 0,10 UNION
SELECT 'TotalRows', FOUND_ROWS(), NULL, NULL, NULL, NULL
ORDER BY IssueDate, VolumeNo
La parte unione è molto importante, perché tag la risposta desiderata (numero totale di righe) che viene recuperata nel risultato secondo Selezionare sulla prima Select risultati.
altro punto molto importante è che, poiché un UNION avviene, entrambe le tabelle devono avere lo stesso numero di colonne in loro. Questo di solito significa che devi eseguire il SECONDO Select con l'importantissimo valore FOUND_ROWS() e poi molti valori NULL.
Il risultato finale sarà un comando che restituisce 11 righe di informazioni, con una di queste righe contenenti il numero totale di righe. Ovviamente, è necessario escludere la riga TotalRows aggiuntiva quando si utilizza il risultato.
fonte
2014-06-12 01:02:46
Grazie! Funziona bene nel monitor MySQL. Ma in PHP la seconda query restituisce 1. Come eseguire correttamente queste due query in PHP? – SaltLake
Quale versione di PHP hai installato? Dai un'occhiata a questo http://stackoverflow.com/questions/674061/sql-calc-found-rows-found-rows-does-not-work-in-php – Shuriken