Jag tycker att du borde GROUP BY a.id, c.id
-- gruppering efter a.id
betyder bara att du vanligtvis har flera c.id
s per a.id
, och du får bara en "random-ish" av dem. Detta verkar vara en fråga om grundläggande korrekthet. När du har fixat det, en initial SELECT COUNT(*) FROM
etc etc bör då definitivt ge dig antalet rader som följande fråga kommer att returnera, så att du kan förbereda din personsökare därefter.