Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL में एक यादृच्छिक पंक्ति या एकाधिक यादृच्छिक पंक्तियों को कैसे पुनर्प्राप्त करें?

<घंटा/>

इसके लिए आप रैंड () मेथड का इस्तेमाल कर सकते हैं। एक यादृच्छिक पंक्ति को पुनः प्राप्त करने के लिए, निम्न सिंटैक्स का उपयोग करें

चुनें *अपनेTableName से RAND द्वारा ऑर्डर करें () अपने इंटीजर नंबर को सीमित करें;

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है

mysql> क्रिएट टेबल getRandomRow -> (-> CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> CustomerName varchar(100) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.45 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

mysql> getRandomRow(CustomerName) मान ('क्रिस') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> getRandomRow(CustomerName) मान ('रॉबर्ट') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित है ( 0.10 सेकंड) mysql> प्राप्त करने में सम्मिलित करेंRandomRow(CustomerName) मान ('रामित'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> प्राप्त करने में सम्मिलित करेंRandomRow(CustomerName) मान ('जेम्स'); क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.11 सेकंड) mysql> प्राप्त करने में सम्मिलित करेंRandomRow(CustomerName) मान ('Jace'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> प्राप्त करने में सम्मिलित करेंRandomRow(CustomerName) मान ('माइक'); क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.15 सेकंड) mysql> प्राप्त करने में सम्मिलित करेंRandomRow(CustomerName) मान ('सैम'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> प्राप्त करने में सम्मिलित करेंRandomRow(CustomerName) मान ('बॉब'); क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.12 सेकंड)mysql> प्राप्त करने में सम्मिलित करेंRandomRow(CustomerName) मान ('कैरोल'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> प्राप्त करने में सम्मिलित करेंRandomRow(CustomerName) मान ('डेविड'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड)mysql> प्राप्त करने में सम्मिलित करेंRandomRow(CustomerName) मान ('मैक्सवेल'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> प्राप्त करने में सम्मिलित करेंRandomRow(CustomerName) मान ('लैरी'); क्वेरी ठीक, 1 पंक्ति प्रभावित (0.13 सेकंड)mysql> getRandomRow(CustomerName) मान ('जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> *RandomRow पाने से चुनें;

निम्न आउटपुट है

<पूर्व>+---------------+--------------+| ग्राहक आईडी | ग्राहक का नाम |+---------------+--------------+| 1 | क्रिस || 2 | रॉबर्ट || 3 | रामित || 4 | जेम्स || 5 | जैस || 6 | माइक || 7 | सैम || 8 | बॉब || 9 | कैरल || 10 | डेविड || 11 | मैक्सवेल || 12 | लैरी || 13 | जॉन |+---------------+--------------+13 पंक्तियों में सेट (0.00 सेकंड)

यहाँ एक यादृच्छिक पंक्ति या एकाधिक यादृच्छिक पंक्तियाँ प्राप्त करने के लिए क्वेरी है।

केस 1 :क्वेरी इस प्रकार है -

mysql> चुनें *RandomRow ऑर्डर प्राप्त करने से rand() LIMIT 1;

निम्न आउटपुट है

<पूर्व>+---------------+--------------+| ग्राहक आईडी | ग्राहक का नाम |+---------------+--------------+| 13 | जॉन |+---------------+--------------+1 पंक्ति में सेट (0.00 सेकंड)

केस 2 :क्वेरी इस प्रकार है -

mysql> चुनें *RandomRow ऑर्डर प्राप्त करने से rand() LIMIT 2;

निम्न आउटपुट है

<पूर्व>+---------------+--------------+| ग्राहक आईडी | ग्राहक का नाम |+---------------+--------------+| 2 | रॉबर्ट || 3 | रामित |+---------------+--------------+2 पंक्तियों में सेट (0.00 सेकंड)

केस 3 :क्वेरी इस प्रकार है -

mysql> चुनें *RandomRow ऑर्डर प्राप्त करने से rand() LIMIT 2;

निम्न आउटपुट है

<पूर्व>+---------------+--------------+| ग्राहक आईडी | ग्राहक का नाम |+---------------+--------------+| 4 | जेम्स || 9 | कैरल |+---------------+--------------+2 पंक्तियों में सेट (0.00 सेकंड)
  1. कई पंक्तियों को प्रभावी ढंग से चुनने के लिए MySQL क्वेरी?

    एकाधिक पंक्तियों को प्रभावी ढंग से चुनने के लिए आपको अनुक्रमणिका का उपयोग करने की आवश्यकता है। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.62 सेकंड) यहाँ अनुक्रमणिका बनाने की क्वेरी है - DemoTable1501(Id) पर इंडेक्स id_index बनाएं;क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.23 सेकंड)रि

  1. किसी क्वेरी के परिणामों को यादृच्छिक रूप से कैसे ऑर्डर करें और MySQL में यादृच्छिक पंक्तियों का चयन करें?

    किसी क्वेरी के परिणामों को बेतरतीब ढंग से ऑर्डर करने के लिए, ORDER BY RAND() का उपयोग करें। वाक्य रचना इस प्रकार है - DemoTable1559 से * चुनें जहां आपका कॉलमनाम IN(yourValue1,yourValue2,....N) रैंड द्वारा ऑर्डर करें() आपके लिमिट वैल्यू को सीमित करें; आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्ति

  1. पंक्तियों से एक विशिष्ट पंक्ति प्राप्त करने के लिए MySQL क्वेरी

    आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable1972 (अनुभाग चार(1), छात्रनाम varchar(20));क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1972 मानों में डालें (सी, कैरोल); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड) चयन कथन का उ