¿Cual es el motor de base de datos que usas?.
En firebird, por ejemplo, funcionaría algo así en el primer caso:
Código SQL
[-]
select max(suma) from (select sum(campo) as suma from tabla group by otrocampo)
en el segundo caso:
Código SQL
[-]
select sum(campo) from tabla group by extract(month from fecha)
En algunos motores (bde por ejemplo) no funcionaría, ya que no permite expresiones en el group by.