select *
from (select *
from tableA
where type = 'A'
order by dbms_random.value)
where rownum = 1
union all
select *
from (select *
from tableA
where type = 'B'
order by dbms_random.value)
where rownum = 1
union all
select *
from (select *
from tableA
where type = 'C'
order by dbms_random.value)
where rownum = 1
union all
select *
from (select *
from tableA
where type = 'D'
order by dbms_random.value)
where rownum = 1
union all
select *
from (select *
from tableA
where type = 'E'
order by dbms_random.value)
where rownum = 1