No es necesario volver a preguntar dentro del while nuevamente, pues group by puede hacer el trabajo, ejemplo:
Tabla compras
--------------
id_cliente
id_producto
monto
Tabla clientes
-------------
id_cliente
nombre
direccion
Código PHP:
//se cuentan los id de clientes que tengan compras y que tengas datos
//asociados en la tabla clientes, mostrando la cantidad de compras que
//han hecho y su nombre
$sql="select count(compras.id_cliente) as ncompras, nombre from compras";
$sql.=" inner join clientes on compras.id_cliente=clientes.id_cliente";
$sql.=" group by compras.id_cliente";
$result=mysql_query($sql,$link);
while ($fila=mysql_fetch_assoc($result))
{
echo "Cliente: ".$fila['nombre']." -> N Compras: ".$fila['ncompras']."<br>";
}