Heim >Datenbank >MySQL-Tutorial >Wie erhalten Sie die Gesamtzahl der Zeilen, wenn Sie „LIMIT' in MySQL-Abfragen verwenden?

Wie erhalten Sie die Gesamtzahl der Zeilen, wenn Sie „LIMIT' in MySQL-Abfragen verwenden?

DDD
DDDOriginal
2024-11-13 05:50:02663Durchsuche

How Do You Get the Total Row Count When Using `LIMIT` in MySQL Queries?

Ermitteln der Zeilenanzahl trotz LIMIT in MySQL-Abfragen

MySQL-Abfragen mit der LIMIT-Klausel ermöglichen es Ihnen, die Anzahl der zurückgegebenen Zeilen einzuschränken. Aber was ist, wenn Sie auch die Gesamtzahl der Zeilen abrufen müssen, die mit der Abfrage übereinstimmen?

Abfrage mit LIMIT-Klausel und Zeilenanzahl

Betrachten Sie die folgende Abfrage, die a abruft Teilmenge von Zeilen aus zwei Tabellen mit JOIN:

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

Diese Abfrage gibt die ersten 10 Zeilen zurück, die die angegebenen Bedingungen erfüllen.

Lösung mit SQL_CALC_FOUND_ROWS

Um die Gesamtzahl der Zeilen zu erhalten, können Sie die Funktion SQL_CALC_FOUND_ROWS in Verbindung mit der LIMIT-Klausel verwenden:

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 Funktion SQL_CALC_FOUND_ROWS legt eine interne Zeilenanzahlvariable fest, bevor die Abfrage mit der LIMIT-Klausel ausgeführt wird. Die Funktion FOUND_ROWS() ruft dann den Wert dieser Variablen ab, der die Gesamtzahl der Zeilen darstellt, die ohne LIMIT zurückgegeben worden wären.

Mit dieser Technik können Sie sowohl die begrenzte Teilmenge der Zeilen als auch die erhalten Gesamtzeilenanzahl, ohne dass eine zusätzliche Abfrage erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie erhalten Sie die Gesamtzahl der Zeilen, wenn Sie „LIMIT' in MySQL-Abfragen verwenden?. 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