Zeilen zählen mit SELECT und LIMIT in MySQL
In MySQL kann die LIMIT-Klausel verwendet werden, um die Anzahl der von a zurückgegebenen Zeilen einzuschränken Abfrage. Bei Verwendung von LIMIT kann es jedoch schwierig sein, auch die Gesamtzahl der Zeilen in der Tabelle zu ermitteln, die die Abfragebedingungen erfüllen.
Betrachten Sie die folgende Abfrage, die die ersten 10 Zeilen aus einem Join zwischen zwei Tabellen abruft , Tabelle1 und Tabelle2, basierend auf bestimmten Bedingungen (Bedingung1, Bedingung2, ..., BedingungN):
SELECT A.ID, A.NAME, B.ID, B.NAME FROM table1 A JOIN table2 B ON ( A.ID = B.TABLE1_ID ) WHERE cond1, cond2, ..., condN LIMIT 10
Um die Gesamtzahl der Zeilen abzurufen, die diese Bedingungen erfüllen Ohne eine weitere Abfrage ohne LIMIT auszugeben, stellt MySQL das Schlüsselwort SQL_CALC_FOUND_ROWS bereit. Durch die Einbindung von SQL_CALC_FOUND_ROWS in die anfängliche Abfrage berechnet MySQL die Gesamtzahl der Zeilen, bevor die LIMIT-Klausel angewendet wird:
SELECT SQL_CALC_FOUND_ROWS A.ID, A.NAME, B.ID, B.NAME FROM table1 A JOIN table2 B ON ( A.ID = B.TABLE1_ID ) WHERE cond1, cond2, ..., condN LIMIT 10
Nach der Ausführung dieser Abfrage kann die Gesamtzahl der Zeilen mithilfe der folgenden separaten Abfrage ermittelt werden:
SELECT FOUND_ROWS();
Durch die Kombination dieser beiden Abfragen können Sie sowohl die Anzahl der zurückgegebenen Zeilen begrenzen als auch die Gesamtzeilenanzahl abrufen, ohne dass eine zusätzliche Abfrage erforderlich ist Abfrage.
Das obige ist der detaillierte Inhalt vonWie zähle ich die Gesamtzahl der Zeilen bei Verwendung von LIMIT in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!