Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja agregująca Oracle, aby zwrócić losową wartość dla grupy?

Możesz spróbować czegoś takiego

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
/

Chodzi o to, aby posortować wartości w grupie w kolejności losowej i wybrać pierwszą. Potrafię wymyślić inne sposoby, ale żaden nie jest tak wydajny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. (Angielski) Jak używać Oracle Database 19c Pre-Built Developer VM?

  2. TO_TIMESTAMP() Funkcja w Oracle

  3. Spring Security Login nie działa z Oracle

  4. Jak wyczyścić wszystkie elementy z pamięci podręcznej w Oracle

  5. Jak mogę przechowywać duże ilości danych z bazy danych do XML (problem z pamięcią)?