Estou tentando selecionar 10 clientes com número mínimo de registros(compras). Minhas tabelas são: produtos, clientes, compras(id, customer_id, product_id). O que eu acho é selecionar clientes, agrupá-los e então escrever uma consulta aninhada e obter a contagem mínima, assim:
SELECT last_name, name, COUNT(pur.id) FROM customers AS c
INNER JOIN purchases AS pur ON c.id=pur.customer_id
INNER JOIN products AS pr ON pr.id=pur.product_id
GROUP BY last_name, name
HAVING count(pur.id) = (SELECT min(pur.id) FROM
(SELECT count(pur.id) FROM customers AS c
INNER JOIN purchases AS pur ON c.id=pur.customer_id
INNER JOIN products AS pr ON pr.id=pur.product_id
GROUP BY last_name, name))
Mas não tenho certeza de como fazer isso?