Heim >Backend-Entwicklung >PHP-Tutorial >Wie ermittelt man die Gesamtergebnisanzahl in MySQL mit Offset und Limit?
Bestimmen der Gesamtergebnisanzahl mit MySQL-Offset und -Limit
Bei der Implementierung der Paginierung mit Offset und Limit ist es wichtig, die Gesamtzahl der Ergebnisse zu bestimmen um die benötigten Seiten zu berechnen. Auch wenn das zweimalige Ausführen der Abfrage (einmal mit und ohne LIMIT) überflüssig erscheinen mag, gibt es bessere Ansätze.
MySQL bietet eine Möglichkeit, die Gesamtzahl der Ergebnisse ohne eine zusätzliche Abfrage mithilfe von SQL_CALC_FOUND_ROWS abzurufen. Durch das Hinzufügen dieses Schlüsselworts vor der Hauptabfrage berechnet MySQL die Gesamtzahl der Zeilen, die ohne die LIMIT-Klausel zurückgegeben worden wären.
Hier ist ein Beispiel:
<code class="sql">SELECT SQL_CALC_FOUND_ROWS * FROM directory_listing WHERE category_id = <category_id> LIMIT offset, limit;</code>
Nach der Ausführung dieser Abfrage Sie können den folgenden Code verwenden, um die Gesamtzahl der Ergebnisse abzurufen:
$query = $this->db->query('SELECT FOUND_ROWS() AS total_count;'); $total_count = $query->first_row()->total_count;
Mit diesem Ansatz können Sie die Gesamtzahl effizient abrufen, ohne eine zusätzliche Abfrage auszuführen. Durch die Verwendung von SQL_CALC_FOUND_ROWS können Sie die Leistung und Ressourcennutzung Ihrer Paginierungsfunktion verbessern.
Das obige ist der detaillierte Inhalt vonWie ermittelt man die Gesamtergebnisanzahl in MySQL mit Offset und Limit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!