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

मुझे तालिका से 88 यादृच्छिक पंक्तियों का चयन करने के लिए एक फ़ंक्शन की आवश्यकता है (डुप्लिकेट के बिना)

यहां एक त्वरित समाधान है जो आपको पसंद आ सकता है:

CREATE EXTENSION IF NOT EXISTS tsm_system_rows;

     select * from task 
tablesample system_rows (88);

संदर्भ के लिए, TABLESAMPLE चयन के लिए दस्तावेज़ में है:https://www। postgresql.org/docs/current/sql-select.html

यहाँ इस विशेषता का काफी अच्छा लेखन है:

https://www.2ndquadrant.com/ en/blog/tablesample-in-postgresql-9-5-2/

...और उसी लेखक द्वारा यादृच्छिक नमूने के सामान्य विषय पर एक और अंश:

https://www. 2ndquadrant.com/hi/blog/tablesample-and-other-methods-for-getting-random-tuples/

tsm_system_rows दो मानक नमूना एक्सटेंशन में से एक है, जिसे यहां प्रलेखित किया गया है:https:/ /www.postgresql.org/docs/current/tsm-system-rows.html

अरे! मुझे खुशी है कि आपने यह सवाल पूछा। मैं बर्नौली विधि का उपयोग करता हूं, जिसे बॉक्स के बाहर चयन में बनाया गया है, लेकिन यह प्रतिशत पर आधारित है। मैंने अभी इसे आजमाया है और यह ठीक काम करता है:

select * from task 
tablesample BERNOULLI (1)
limit 88



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज़ सॉर्टिंग समस्या

  2. क्लस्टरकंट्रोल का उपयोग करके एक डॉकटर कंटेनर में पोस्टग्रेएसक्यूएल को कैसे तैनात करें

  3. पोस्टग्रेएसक्यूएल और रेल 3 के साथ सहयोग में क्षेत्र द्वारा आदेशित अद्वितीय रिकॉर्ड ढूँढना?

  4. केस असंवेदनशील खोज/प्रश्न

  5. कैसे Cosd () PostgreSQL में काम करता है