Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich die Gesamtzahl der Ergebnisse bei der MySQL-Paginierung mit Offset und Limit ermitteln?

Wie kann ich die Gesamtzahl der Ergebnisse bei der MySQL-Paginierung mit Offset und Limit ermitteln?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-23 10:33:02462Durchsuche

How Can I Find the Total Count of Results in MySQL Pagination with Offset and Limit?

Ermitteln von Gesamtergebnissen mit Offset und Limit in MySQL

Paginierung ermöglicht es Benutzern, große Datensätze in überschaubaren Blöcken zu durchsuchen. Um die Gesamtzahl der Seiten zu ermitteln, muss jedoch die Gesamtzahl der Ergebnisse bekannt sein. Bei Verwendung von Offset und Limit für die Paginierung scheint es ineffizient zu sein, dieselbe Abfrage zweimal auszuführen, einmal mit und einmal ohne Limit.

SQL_CALC_FOUND_ROWS: Eine Lösung

Zur Adressierung Für dieses Problem stellt MySQL ein spezielles Schlüsselwort bereit: SQL_CALC_FOUND_ROWS. Indem Sie dieses Schlüsselwort am Anfang Ihrer Abfrage hinzufügen, berechnet und speichert MySQL die Gesamtzahl der Zeilen, die ohne die LIMIT-Klausel zurückgegeben worden wären.

Beispielabfrage:

<code class="sql">SELECT SQL_CALC_FOUND_ROWS * 
FROM table_name 
WHERE category_id = '1' 
ORDER BY date_created DESC
LIMIT 10 OFFSET 20;</code>

Gesamtzahl der Ergebnisse abrufen:

Nachdem Sie die obige Abfrage ausgeführt haben, können Sie den folgenden PHP-Code verwenden, um die Gesamtzahl der Ergebnisse abzurufen:

<code class="php">$totalRows = $db->query('SELECT FOUND_ROWS() AS total')->row()->total;</code>

Vorteile von SQL_CALC_FOUND_ROWS:

  • Erhöhte Effizienz:Dadurch entfällt die Notwendigkeit, die Abfrage zweimal auszuführen.
  • Genauigkeit : Garantiert, dass die Gesamtzahl korrekt ist, auch wenn sich die zugrunde liegenden Daten zwischen Abfragen ändern.
  • Einfachheit: Einfach mit einem einzigen Schlüsselwort zu implementieren.

Das obige ist der detaillierte Inhalt vonWie kann ich die Gesamtzahl der Ergebnisse bei der MySQL-Paginierung mit Offset und Limit ermitteln?. 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