Creo que no has entendido bien las respuesta anterior....
HAVING se evalúa despues de ejecutar las SUMA, mientra que WHERE lo hace antes. No tiene nada que ver con si se escribe antes o despues del group by.
Por ejemplo
select cod_provincia, count(*)
from CAT_PROVINCIA
WHERE count(*) = 1
group by cod_provincia ;
Esta sentecia falla porque cuando se quiere evaluar el WHERE no tenemos el count. Sin embargo HAVING se evalua despues de realizar el count, por lo que funciona perfectamente.
select cod_provincia, count(*)
from CAT_PROVINCIA
having count(*) = 1
group by cod_provincia
select cod_provincia, count(*)
from CAT_PROVINCIA
group by cod_provincia
having count(*) = 1