No es posible evitarte el primer select
Lo que tienes que hacer para que te cuente correctamente es usar
DISTINC en vez de
GROUP BY
Código sql:
Ver originalSELECT
COUNT(DISTINCT es.nombre_est_serv, m.nombre_combustible, c.costo_unit )
AS total
FROM
mit.mit_consumos c,
mit.mit_estacion_servicio es,
mit.mit_combustible m
WHERE
(c.tipo_consumo='U' AND (c.fecha BETWEEN '2008-08-01' AND '2008-10-09')
AND c.id_est_serv=es.id_est_serv AND c.id_combustible=m.id_combustible)
Otra cosa trata de Usar JOINs
Saludos!