Sepertinya Anda harus GROUP BY a.id, c.id -- mengelompokkan berdasarkan a.id hanya berarti Anda biasanya memiliki beberapa c.id s per a.id , dan Anda baru saja mendapatkan salah satunya "random-ish". Ini sepertinya pertanyaan tentang kebenaran dasar. Setelah Anda memperbaikinya, sebuah SELECT COUNT(*) FROM initial etc etc maka pasti akan memberi Anda jumlah baris yang akan dikembalikan oleh kueri berikut, sehingga Anda dapat mempersiapkan pager Anda sesuai dengan itu.