Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Fungsi agregat Oracle untuk mengembalikan nilai acak untuk grup?

Anda dapat mencoba sesuatu seperti berikut

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
/

Idenya adalah untuk mengurutkan nilai dalam grup secara acak dan memilih yang pertama. Saya dapat memikirkan cara lain tetapi tidak ada yang begitu efisien.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL:Menggunakan fungsi CHR() dengan || menggabungkan

  2. Format Tanggal Oracle

  3. Transaksi Hanya Baca Musim Semi dengan Propagasi.DUKUNGAN dengan WebSphere dan Oracle

  4. ORA-01219:basis data tidak terbuka:kueri diizinkan hanya pada tabel/tampilan tetap

  5. Urutan hibernasi nextVal diselesaikan tetapi tidak digunakan (Oracle)