Heim  >  Artikel  >  Datenbank  >  Wie zähle ich Zeilen über LIMIT hinaus in MySQL-Abfragen?

Wie zähle ich Zeilen über LIMIT hinaus in MySQL-Abfragen?

Susan Sarandon
Susan SarandonOriginal
2024-11-12 09:43:01361Durchsuche

How to Count Rows Beyond LIMIT in MySQL Queries?

Zählung von Zeilen über LIMIT hinaus in MySQL-Abfragen

Problem:

Beim Ausführen einer MySQL-Abfrage Mit einer LIMIT-Klausel kann es schwierig sein, die Gesamtzahl der Zeilen in der Tabelle zu ermitteln, die die Abfragebedingungen erfüllen. Dies gilt insbesondere bei der Verwendung komplexer JOIN-Anweisungen und WHERE-Klauseln.

Lösung:

Um dieses Problem zu beheben, stellt MySQL das Schlüsselwort SQL_CALC_FOUND_ROWS bereit. Wenn dieses Schlüsselwort verwendet wird, weist es MySQL an, die Gesamtzahl der Zeilen zu berechnen, die ohne die LIMIT-Klausel abgerufen worden wären.

Beispiel:

Betrachten Sie das folgende MySQL Abfrage:

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 ohne die LIMIT-Klausel zu erhalten, führen Sie die folgenden zwei Anweisungen in derselben Reihenfolge aus:

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

SELECT FOUND_ROWS();

Die erste Anweisung berechnet die Gesamtzahl der Zeilen zufriedenstellend die Abfragebedingungen, während die zweite Anweisung die Gesamtzahl aus der Funktion FOUND_ROWS() abruft.

Das obige ist der detaillierte Inhalt vonWie zähle ich Zeilen über LIMIT hinaus in MySQL-Abfragen?. 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