oracle analytical functions

select count(*) over (partition by [column_names])
, row_number over (partition by [column_names] order by [column_names]
from table