Предполагается, что вы ищете решение в SQL Server:
Сначала вам нужно добавить обнуляемый столбец ID_Generated, как показано ниже:
ALTER TABLE tablename
ADD COLUMN ID_Generated varchar(25) null
GO
Затем используйте row_number, как показано ниже вСтруктура cte (вы можете использовать временную таблицу, если вы используете mysql):
;with cte as (
SELECT DISTINCT t.ID,
(ROW_NUMBER() over (partition by t.ID order by t.ID)) as RowNumber
FROM tablename t
INNER JOIN (select ID, Count(*) RecCount
From tablename
group by ID
having Count(*) > 1) tt on t.ID = t.ID
ORDER BY id ASC
)
Update t
set t.ID_Generated = cte.RowNumber
from tablename t
inner join cte on t.ID = cte.ID