Heim >Backend-Entwicklung >PHP-Tutorial >Wie ermittelt man die Gesamtergebnisanzahl in MySQL mit Offset und Limit?

Wie ermittelt man die Gesamtergebnisanzahl in MySQL mit Offset und Limit?

DDD
DDDOriginal
2024-10-23 10:56:30871Durchsuche

How to Determine the Total Result Count in MySQL with Offset and 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn