No sé como es la estructura de tu BD... lo mas normal sería que tuvieras las compras en una tabla, entonces sería algo así
SELECT COUNT(*) as numCompras,* from COMPRAS group by COMPRADOR order by numCompras desc limit 5
Si me pones la estrucura de tu BD a lo mejor te puedo ayudar más.
Un Saludo