Anzahl der Zeilen mit einer GROUP BY-Abfrage ermitteln

Ich habe eine Frage zu der Wirkung von

SELECT t3.id, a,bunch,of,other,stuff FROM t1, t2, t3 
WHERE (associate t1,t2, and t3 with each other) 
GROUP BY t3.id 
LIMIT 10,20

Ich möchte wissen, ob diese Abfrage insgesamt zu viele Zeilen ohne das LIMIT zurückgibt (damit ich Paginierungsinformationen anzeigen kann).

ormalerweise würde ich diese Abfrage verwenden:

SELECT COUNT(t3.id) FROM t1, t2, t3 
WHERE (associate t1,t2, and t3 with each other) 
GROUP BY t3.id

Der Befehl GROUP BY ändert jedoch die Bedeutung von COUNT. Stattdessen erhalte ich eine Reihe von Zeilen, die die Anzahl der eindeutigen t3.id-Werte in jeder Gruppe darstellen.

Gibt es eine Möglichkeit, die Gesamtzahl der Zeilen zu zählen, wenn ich GROUP BY verwende? Ich möchte vermeiden, dass die gesamte Abfrage ausgeführt und nur die Anzahl der Zeilen gezählt werden muss, da ich nur eine Teilmenge der Zeilen benötige, da die Werte paginiert sind. Ich benutze MySQL 5, finde das aber ziemlich generisch.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage