J'ai une requête à l'effet deObtenir le nombre de lignes avec une requête GROUP BY
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
Je veux savoir à plusieurs lignes au total cette requête retournerait sans LIMIT (je peux afficher des informations de pagination).
Normalement, j'utiliser cette requête:
SELECT COUNT(t3.id) FROM t1, t2, t3
WHERE (associate t1,t2, and t3 with each other)
GROUP BY t3.id
Cependant, le GROUP BY change le sens du comte, et au lieu que j'obtenir un ensemble de lignes représentant le nombre de valeurs de t3.id uniques dans chaque groupe .
Existe-t-il un moyen d'obtenir un compte pour le nombre total de lignes lorsque j'utilise un GROUP BY? Je voudrais éviter d'avoir à exécuter la requête entière et à compter le nombre de lignes, car je n'ai besoin que d'un sous-ensemble de lignes car les valeurs sont paginées. J'utilise MySQL 5, mais je pense que c'est assez générique.
[Utilisez les sous-requêtes pour compter 50x plus rapidement.] (Https: // www.Avec l'avertissement que je n'ai pas mesuré les appels moi-même, cet article m'a déconnecté de la solution: http: //www.periscopedata.com/blog/use-subqueries-to-count-distinct-50x-faster.html – bishop