Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

श्रेणियों पर स्तरीकृत नमूना

इसका मतलब है कि आपको प्रत्येक समूह के कम से कम एक रिकॉर्ड और यादृच्छिक आधार पर अधिक रिकॉर्ड चाहिए तो इसे आजमाएं:

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;

यहाँ, Rownum प्रत्येक समूह के लिए यादृच्छिक आधार पर लिया जाता है और फिर परिणाम rownum . ले रहा है 1 और अन्य rownum अगर वे यादृच्छिक शर्त पूरी करते हैं।

चीयर्स!!



  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 JDBC आंतरायिक कनेक्शन समस्या

  2. ADD_MONTHS () Oracle में फ़ंक्शन

  3. ट्रांसपोज़ करने के लिए Select या PL SQL का उपयोग करें

  4. कॉलम में SQL पंक्तियाँ

  5. विजुअल और ऑरेकल के बीच कनेक्ट करें