sql >> Database >  >> RDS >> Oracle

Oracle-aggregatiefunctie om een ​​​​willekeurige waarde voor een groep te retourneren?

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.



  1. hoe krijg ik mysql-resultaten van de datum van vandaag?

  2. Schrijven naar MySQL-database met panda's met behulp van SQLAlchemy, to_sql

  3. Een PostgreSQL-commitfest beheren

  4. MySql &PHP - Hoe een string naar DATETIME te converteren