select
*
FROM
(
select
account_no,
to_char(
trunc(some_date_column, 'MONTH'),
'MON YYYY'
) as transaction_month
from
some_table
where
trunc(some_date_column, 'YEAR') = '01-jan-2018'
) PIVOT (
count(transaction_month) for transaction_month in (
'JAN 2018', 'FEB 2018', 'MAR 2018',
'APR 2018', 'MAY 2018', 'JUN 2018',
'JUL 2018', 'AUG 2018', 'SEP 2018',
'OCT 2018', 'NOV 2018', 'DEC 2018'
)
)
*
FROM
(
select
account_no,
to_char(
trunc(some_date_column, 'MONTH'),
'MON YYYY'
) as transaction_month
from
some_table
where
trunc(some_date_column, 'YEAR') = '01-jan-2018'
) PIVOT (
count(transaction_month) for transaction_month in (
'JAN 2018', 'FEB 2018', 'MAR 2018',
'APR 2018', 'MAY 2018', 'JUN 2018',
'JUL 2018', 'AUG 2018', 'SEP 2018',
'OCT 2018', 'NOV 2018', 'DEC 2018'
)
)