Consulta com agrupamento por mês

Olá pessoal,

Estou quebrando cabeça a uns 2 dias e não consegui resolver o problema…

A minha ideia é realizar um COUNT de todas as ocorrências agrupados por MÊS…
Por exemplo:
Ocorrências: -------------- MÊS:
7 ---------------------------- 07/2013
21 ---------------------------- 08/2013
5 ---------------------------- 09/2013
21 ---------------------------- 10/2013
2 ---------------------------- 11/2013

A consulta abaixo funciona no meu banco oracle:

SELECT count(*),to_char(MH.MDH_DT_RECEPCAODADO, 'mm/yyyy') as "mm/yyyy"
  FROM MED_HIDROMETEOROLOGICA MH
  LEFT JOIN CARACTERIZACAO_VHM CV ON MH.MDH_CVH_ID = CV.CVH_ID
  LEFT JOIN VARIAVEL V ON CV.CVH_VAR_ID = V.VAR_ID
  LEFT JOIN ESTACAO E ON CV.CVH_EST_ID = E.EST_ID
  LEFT JOIN ORGAO_ESTACAO OE ON E.EST_ID = OE.OES_EST_ID
  LEFT JOIN ORGAO O ON O.ORG_ID = OE.OES_ORG_ID 
 WHERE MH.MDH_DT_RECEPCAODADO 
 IN
( 
  SELECT MIN(MH.MDH_DT_RECEPCAODADO)
    FROM MED_HIDROMETEOROLOGICA MH
          LEFT JOIN CARACTERIZACAO_VHM CV ON MH.MDH_CVH_ID = CV.CVH_ID
          LEFT JOIN VARIAVEL V ON CV.CVH_VAR_ID = V.VAR_ID
          LEFT JOIN ESTACAO E ON CV.CVH_EST_ID = E.EST_ID
          LEFT JOIN ORGAO_ESTACAO OE ON E.EST_ID = OE.OES_EST_ID
          LEFT JOIN ORGAO O ON O.ORG_ID = OE.OES_ORG_ID 
    WHERE o.org_id IS NOT NULL AND V.VAR_ID IN(1,3,4) 
    GROUP by O.ORG_ID 
    )
GROUP BY to_char(MH.MDH_DT_RECEPCAODADO, 'mm/yyyy')  ORDER BY 2;

Porém, quando tentei converter:

	 SELECT COUNT(md), MONTH(md.mdhDtRecepcaodado) FROM MedHidrometeorologica md 
		 LEFT JOIN md.mdhCvhId cv 
		 LEFT JOIN cv.cvhVarId va 
		 LEFT JOIN cv.cvhEstId es 
		 LEFT JOIN es.orgaoEstacaoLista oe 
		 WHERE md.mdhDtRecepcaodado IN ( 
			SELECT MIN( md.mdhDtRecepcaodado ) FROM MedHidrometeorologica md 
			LEFT JOIN md.mdhCvhId cv 
			LEFT JOIN cv.cvhVarId va 
			LEFT JOIN cv.cvhEstId es 
			LEFT JOIN es.orgaoEstacaoLista oe 
			WHERE oe.oesOrgId.orgId IS NOT NULL AND va.cvhVarId.varId IN (1,3,4) 
			GROUP BY oe.oesOrgId.orgId )    
	  GROUP BY MONTH(md.mdhDtRecepcaodado)
	  ORDER BY 2;

Foi me apresentado o seguinte erro:

e = (java.lang.IllegalArgumentException) java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
Exception Description: Syntax error parsing the query [SELECT COUNT(md), MONTH(md.mdhDtRecepcaodado) FROM MedHidrometeorologica md LEFT JOIN md.mdhCvhId cv LEFT JOIN cv.cvhVarId va LEFT JOIN cv.cvhEstId es LEFT JOIN es.orgaoEstacaoLista oe WHERE md.mdhDtRecepcaodado IN ( SELECT MIN( md.mdhDtRecepcaodado ) FROM MedHidrometeorologica md LEFT JOIN md.mdhCvhId cv LEFT JOIN cv.cvhVarId va LEFT JOIN cv.cvhEstId es LEFT JOIN es.orgaoEstacaoLista oe WHERE oe.oesOrgId.orgId IS NOT NULL AND va.cvhVarId.varId IN (1,3,4) GROUP BY oe.oesOrgId.orgId ) GROUP BY MONTH(md.mdhDtRecepcaodado)ORDER BY 2], line 1, column 23: unexpected token [(].
Internal Exception: NoViableAltException(83@[()* loopback of 383:9: (d= DOT right= attribute )*])

Alguém pode me ajudar? Será se essa consulta poderia ser mais simples trazendo o mesmo resultado?

[]s

Alguém??

Pelo menos uma dica?