Je kunt zoiets als het volgende proberen
select deptno,max(sal),min(sal),max(rand_sal)
from(
select deptno,sal,first_value(sal)
over(partition by deptno order by dbms_random.value) rand_sal
from emp)
group by deptno
/
Het idee is om de waarden binnen de groep in willekeurige volgorde te sorteren en de eerste te kiezen. Ik kan andere manieren bedenken, maar geen enkele zo efficiënt.