Heim  >  Artikel  >  Datenbank  >  Wie zähle ich Zeilen, wenn ich SELECT mit LIMIT in MySQL verwende?

Wie zähle ich Zeilen, wenn ich SELECT mit LIMIT in MySQL verwende?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-10 13:09:03452Durchsuche

How to Count Rows When Using SELECT with LIMIT in MySQL?

Zählen von Zeilen bei Verwendung von SELECT mit LIMIT in MySQL

In MySQL begrenzt die Verwendung der LIMIT-Klausel in einer SELECT-Abfrage die Anzahl der zurückgegebenen Zeilen . Wenn Ihre Abfrage jedoch auch komplexe Filterbedingungen enthält, möchten Sie möglicherweise die Gesamtzahl der Zeilen wissen, die diese Bedingungen erfüllen, auch wenn sie nicht von LIMIT zurückgegeben werden.

Um dies zu erreichen, stellt MySQL SQL_CALC_FOUND_ROWS bereit Modifikator. So verwenden Sie es in Ihrer Abfrage:

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();

In dieser Abfrage:

  • Die erste SELECT-Anweisung verwendet SQL_CALC_FOUND_ROWS, um MySQL anzuweisen, die Gesamtzahl der Zeilen zu berechnen, die den Kriterien entsprechen .
  • Die zweite SELECT-Anweisung verwendet die Funktion FOUND_ROWS(), um die berechnete Zeilenanzahl abzurufen.

Mit diesem Ansatz können Sie sowohl eine paginierte Ergebnismenge mit LIMIT als auch die vollständige Zeile abrufen zählen innerhalb einer einzelnen Datenbankabfrage. Beachten Sie, dass SQL_CALC_FOUND_ROWS in derselben Verbindung und vor dem Aufruf der Funktion FOUND_ROWS() verwendet werden muss.

Das obige ist der detaillierte Inhalt vonWie zähle ich Zeilen, wenn ich SELECT mit LIMIT in MySQL verwende?. 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