Il me semble que vous devriez GROUP BY a.id, c.id
-- regroupement par a.id
signifie seulement que vous aurez généralement plusieurs c.id
s par a.id
, et vous en obtenez juste un "aléatoire". Cela semble être une question d'exactitude fondamentale. Une fois que vous avez corrigé cela, un premier SELECT COUNT(*) FROM
etc etc devrait alors définitivement vous donner le nombre de lignes que la requête suivante renverra, afin que vous puissiez préparer votre pager en conséquence.