with t as
(
select 1 as id from dual union all
select 2 as id from dual union all
select 3 as id from dual union all
select 4 as id from dual union all
select 4 as id from dual union all
select 5 as id from dual union all
select 6 as id from dual union all
select 8 as id from dual union all
select 10 as id from dual
)
Select id, Dense_rank() over (partition by id order by id asc) id_true
from t