Вы можете использовать listagg()
аналитическую функцию как
with tab(id,parent_id,name,address ) as
(
select 1, 1,'Ann' ,'Moscow' from dual union all
select 2, 1,'Ann' ,'Moscow' from dual union all
select 3, 1,'Pavel','Tula' from dual union all
select 4, 3,'Nikita','Ufa' from dual union all
select 5, 3,'Nikita','Ufa' from dual
)
select parent_id,name,address, to_number(listagg(id) within group (order by id desc))
as matched
from tab
group by parent_id,name,address
PARENT_ID NAME ADDRESS MATCHED
--------- ------ ------- -------
1 Ann Moscow 21
1 Pavel Tula 1
3 Nikita Ufa 54