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

SQLite रैंडम () कैसे काम करता है

SQLite random() फ़ंक्शन -9223372036854775808 और +9223372036854775807 के बीच एक छद्म-यादृच्छिक पूर्णांक देता है।

एक छद्म यादृच्छिक संख्या एक संख्या है जो यादृच्छिक प्रतीत होती है, लेकिन वास्तव में यादृच्छिक नहीं है। एक छद्म यादृच्छिक संख्या वास्तव में यादृच्छिक नहीं है क्योंकि इसका मूल्य ज्ञात बीज द्वारा उत्पन्न किया गया था। हालांकि, एक छद्म-यादृच्छिक संख्या यादृच्छिक प्रतीत होगी यदि उपयोगकर्ता को उस बीज या एल्गोरिथम का कोई ज्ञान नहीं है जिसने इसे बनाया है।

इसलिए, छद्म यादृच्छिक संख्याओं को अक्सर कई अनुप्रयोगों के लिए काफी अच्छा माना जाता है।

उदाहरण

यहां random() . के साथ छद्म-यादृच्छिक संख्या उत्पन्न करने का एक उदाहरण दिया गया है समारोह।

SELECT random();

परिणाम:

-882536775989953141

केवल सकारात्मक मान

आप random() combine को मिला सकते हैं abs() . के साथ केवल सकारात्मक मान उत्पन्न करने के लिए।

SELECT abs(random());

इस मामले में, यदि random() एक नकारात्मक मान उत्पन्न करता है, abs() इसके बजाय निरपेक्ष मान लौटाएगा।

यह प्रदर्शित करने के लिए कि कैसे abs() काम करता है, अगर मैं पहले उदाहरण से (नकारात्मक) यादृच्छिक संख्या को abs() में पास कर दूं तो क्या होगा समारोह:

SELECT abs(-882536775989953141);

परिणाम:

882536775989953141

तो अगर हम random() . पास करते हैं करने के लिए abs() , और random() एक नकारात्मक मान उत्पन्न करता है, abs() उस मान को सकारात्मक मान के रूप में लौटाएगा।

0 और 100 के बीच का मान

यहां 0 और 100 के बीच एक धनात्मक संख्या उत्पन्न करने का एक उदाहरण दिया गया है।

SELECT abs(random() % 100);

यहां एक से अधिक यादृच्छिक मानों को चुनने का एक उदाहरण दिया गया है।

SELECT 
  abs(random() % 100) AS R1,
  abs(random() % 100) AS R2,
  abs(random() % 100) AS R3;

परिणाम:

R1          R2          R3        
----------  ----------  ----------
17          79          90        

यादृच्छिक पंक्तियां लौटाएं

आप random() का उपयोग कर सकते हैं ORDER BY . में यादृच्छिक पंक्तियों को वापस करने के लिए डेटाबेस क्वेरी का खंड।

यहाँ एक उदाहरण है।

SELECT * FROM Artist 
ORDER BY random() LIMIT 5;

परिणाम:

ArtistId    Name                                    
----------  ----------------------------------------
131         Smashing Pumpkins                       
127         Red Hot Chili Peppers                   
169         Black Eyed Peas                         
60          Santana Feat. Dave Matthews             
240         Gustav Mahler                           

और अगर मैं इसे फिर से चलाता हूं तो मुझे यह मिलता है:

ArtistId    Name                                    
----------  ----------------------------------------
234         Orchestra of The Age of Enlightenment   
126         Raul Seixas                             
76          Creedence Clearwater Revival            
182         Nega Gizza                              
63          Santana Feat. Lauryn Hill & Cee-Lo      

यदि आपके पास एक बड़ी तालिका है, तो हो सकता है कि आप अपनी क्वेरी को कुछ इस तरह संशोधित करना चाहें:

SELECT * FROM Artist 
WHERE ArtistId IN 
  (SELECT ArtistId FROM Artist ORDER BY random() LIMIT 5);

परिणाम:

ArtistId    Name                                    
----------  ----------------------------------------
45          Sandra De Sá                            
105         Men At Work                             
110         Nirvana                                 
205         Chris Cornell                           
267         Göteborgs Symfoniker & Neeme Järvi     

  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. Play Store पर Android पुश अपडेट

  4. फ्रैगमेंट में एंड्रॉइड स्क्लाइट डेटाबेस खोलना

  5. Android SQLite मल्टीटेबल डेटाबेस डेवलपमेंट