SELECT TO_CHAR (date_entry, 'YYYY') AS year,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'JAN', 1, 0)) AS jan,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'FEB', 1, 0)) AS feb,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'MAR', 1, 0)) AS mar,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'APR', 1, 0)) AS apr,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'MAY', 1, 0)) AS may,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'JUN', 1, 0)) AS jun,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'JUL', 1, 0)) AS jul,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'AUG', 1, 0)) AS aug,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'SEP', 1, 0)) AS sep,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'OCT', 1, 0)) AS oct,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'NOV', 1, 0)) AS nov,
SUM (DECODE (TO_CHAR (date_entry, 'MON'), 'DEC', 1, 0)) AS dec
FROM financials
GROUP BY TO_CHAR (date_entry, 'YYYY')
/