select
people,
row_number() over(partition by people) as x
from yourtable
Обновление: небольшая обратная связь в виде сводки комментариев: Как говорят Дейв Коста и APC, результаты не являются детерминированными.То есть, если вы выполните этот запрос завтра, возможно, что имя name1 получит идентификатор 2 в некоторых условиях.Однако запрос все равно будет правильным.Если в вашей таблице есть такие атрибуты, как DateInserted, DateOfBirth или другие, которые могут различать одинаковые имена, вы можете улучшить запрос, например, так:
select
people,
row_number() over(partition by people order by DateOfBirth) as x
from yourtable