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

sampel bertingkat pada rentang

Ini berarti Anda memerlukan setidaknya satu record untuk setiap grup dan lebih banyak record secara acak, lalu coba ini:

SELECT GROUP, VALUE FROM
(SELECT T2.GROUP, T2.VALUE, 
ROW_NUMBER() 
OVER (PARTITION BY T2.GROUP ORDER BY NULL) AS RN
FROM TABLE_1 T1
JOIN TABLE_2 T2
ON(T1.RANGE = T2.GROUP))
WHERE RN = 1 OR
CASE WHEN RN > 1 
AND RN = CEIL(DBMS_RANDOM.VALUE(1,RN))
THEN 1 END = 1
FETCH FIRST 10000 ROWS ONLY;

Di sini, Rownum diambil secara acak untuk setiap kelompok dan kemudian hasilnya diambil rownum 1 dan rownum lainnya jika mereka memenuhi kondisi acak.

Semangat!!



  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:Mengekstrak minggu dalam setahun dari tanggal memberikan hasil acak

  2. TIMESTAMPDIFF di Oracle 11g?

  3. NHibernate - tidak dapat menemukan dialek (Oracle) dalam konfigurasi

  4. Pemasangan paket RODBC/ROracle di OS X Mavericks

  5. Contoh Transaksi Otonom Oracle