Вам нужно row_number() & amp; count() вместе с агрегацией:
row_number()
count()
select text, count(*), row_number() over (order by text) as id from table t group by text;