Whats the best way of grouping or sorting the following query, Also any way to improve the query would be appreciated.
SELECT TO_CHAR(B.EVENTDATE,'Month YYYY') Month_Year,
LP_TOOLS.P_GETCODEDESCR_F('SomeOrgId', 'SomeOrgId','MSTS', TRIM(B.OLDSTATUS),'en') OLDSTATUS ,
LP_TOOLS.P_GETCODEDESCR_F('SomeOrgId', 'SomeOrgId','MSTS', TRIM(B.NEWSTATUS),'en') NEWSTATUS,
COUNT(*) STATUSCOUNT
FROM PTCIS_PRODUCTMEMBER A, PTLOY_STATUSCHANGE B
WHERE A.ORGID = 'SomeOrgId'
AND A.PRODUCTID ='SomeOrgId'
AND A.STATUS NOT IN (SELECT STATUS
FROM PTGEN_STATUSVAL
WHERE INCLUDEGENREPORTS != 'Y'
AND ORGID=A.ORGID AND PRODUCTID=A.PRODUCTID)
AND A.MEMBERTYPE IN ('INDV','COPM')
AND A.ORGID=B.ORGID
AND A.PRODUCTID=B.PRODUCTID
AND A.MPACC = B.MPACC
GROUP BY TO_CHAR(B.EVENTDATE,'Month YYYY'),B.OLDSTATUS,B.NEWSTATUS
ORDER BY Month_Year DESC,OLDSTATUS,NEWSTATUS
This will give me wrong values example 2014 Jan, 2014 Feb, 2015 Feb , 2014 April etc