Heim  >  Artikel  >  Datenbank  >  Wie zähle ich die Gesamtzahl der Zeilen bei Verwendung von LIMIT in MySQL?

Wie zähle ich die Gesamtzahl der Zeilen bei Verwendung von LIMIT in MySQL?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-12 00:02:03847Durchsuche

How to Count Total Rows While Using LIMIT in MySQL?

Zeilen zählen mit SELECT und LIMIT in MySQL

In MySQL kann die LIMIT-Klausel verwendet werden, um die Anzahl der von a zurückgegebenen Zeilen einzuschränken Abfrage. Bei Verwendung von LIMIT kann es jedoch schwierig sein, auch die Gesamtzahl der Zeilen in der Tabelle zu ermitteln, die die Abfragebedingungen erfüllen.

Betrachten Sie die folgende Abfrage, die die ersten 10 Zeilen aus einem Join zwischen zwei Tabellen abruft , Tabelle1 und Tabelle2, basierend auf bestimmten Bedingungen (Bedingung1, Bedingung2, ..., BedingungN):

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 abzurufen, die diese Bedingungen erfüllen Ohne eine weitere Abfrage ohne LIMIT auszugeben, stellt MySQL das Schlüsselwort SQL_CALC_FOUND_ROWS bereit. Durch die Einbindung von SQL_CALC_FOUND_ROWS in die anfängliche Abfrage berechnet MySQL die Gesamtzahl der Zeilen, bevor die LIMIT-Klausel angewendet wird:

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

Nach der Ausführung dieser Abfrage kann die Gesamtzahl der Zeilen mithilfe der folgenden separaten Abfrage ermittelt werden:

SELECT FOUND_ROWS();

Durch die Kombination dieser beiden Abfragen können Sie sowohl die Anzahl der zurückgegebenen Zeilen begrenzen als auch die Gesamtzeilenanzahl abrufen, ohne dass eine zusätzliche Abfrage erforderlich ist Abfrage.

Das obige ist der detaillierte Inhalt vonWie zähle ich die Gesamtzahl der Zeilen bei Verwendung von LIMIT in MySQL?. 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