Extract only single value from multiple rows based on certain condition for same id in Oracle
So what happens then there is no row with Manual, but there is with SendV? Should it be SendV as in your example output?

with data as 
(
  select 12345 as id, 'MANX' as grp, 'Apple' as itdesc, 'SendV' as den from dual union all
  select 12345 as id, 'MANX' as grp, 'Apple' as itdesc, 'Manual' as den from dual union all
  select 12345 as id, 'MANX' as grp, 'Apple' as itdesc, 'UnVeri' as den from dual union all
  select 12346 as id, 'MANX' as grp, 'Mango' as itdesc, 'UnVeri' as den from dual union all
  select 12347 as id, 'MANX' as grp, 'PineAp' as itdesc, 'SendV' as den from dual union all
  select 12348 as id, 'MANX' as grp, 'Pine' as itdesc, 'Manual' as den from dual
)
select id, grp, itdesc, den from 
(
  select
    id, grp, itdesc, den, 
    row_number() over (partition by id, grp, itdesc order by 
      case grp when 'SendV' then 1 when 'Manual' then 2 else 3 end) as rn
  from data
)
where rn = 1
order by id;

        ID GRP  ITDESC DEN   
---------- ---- ------ ------
     12345 MANX Apple  SendV 
     12346 MANX Mango  UnVeri
     12347 MANX PineAp SendV 
     12348 MANX Pine   Manual