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

मैं MySQL में 20 सबसे हाल की पंक्तियों में से 5 यादृच्छिक पंक्तियों का चयन कैसे करूं?


यादृच्छिक के लिए, RAND() विधि का उपयोग करें। और पंक्तियों की सीमा के लिए, LIMIT() विधि का उपयोग करें।

आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं DemoTable -> (-> ShippingDate datetime -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.51 सेकंड)

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

mysql> डेमोटेबल वैल्यू ('2019-01-01') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-01-03'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-01-05'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-01-07'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-02-02'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-02-04'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-02-12'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.07 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-02-24');क्वेरी ओके, 1 पंक्ति प्रभावित (0.14 सेकंड)mysql> डेमोटेबल वैल्यू ('2019-02-25') में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> डेमोटेबल वैल्यू में डालें ('2019-03-10) '); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-03-11'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-03 -12'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-03-14'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-03-16'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-03-18'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-03-20');क्वेरी ओके, 1 पंक्ति प्रभावित (0.14 सेकंड)mysql> डेमोटेबल वैल्यू ('2019-03-25') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> डेमोटेबल वैल्यू में डालें ('2019-03-28 '); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-03-29'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-04 -03'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-04-03'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019) -04-04'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-04-06'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> डेमोटेबल मानों में डालें ( '201' 9-04-09'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-05-01'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.23 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-05-13'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.24 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-05-15'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> में डालें डेमोटेबल मान ('2019-05-16'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> डेमोटेबल मानों में डालें ('2019-05-18'); क्वेरी ठीक, 1 पंक्ति प्रभावित (0.20 सेकंड) 

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

mysql> डेमोटेबल से *चुनें;

आउटपुट

यह निम्नलिखित आउटपुट देगा -

<पूर्व>+---------------------+| शिपिंग तिथि |+---------------------+| 2019-01-01 00:00:00 || 2019-01-03 00:00:00 || 2019-01-05 00:00:00 || 2019-01-07 00:00:00 || 2019-02-02 00:00:00 || 2019-02-04 00:00:00 || 2019-02-12 00:00:00 || 2019-02-24 00:00:00 || 2019-02-25 00:00:00 || 2019-03-10 00:00:00 || 2019-03-11 00:00:00 || 2019-03-12 00:00:00 || 2019-03-14 00:00:00 || 2019-03-16 00:00:00 || 2019-03-18 00:00:00 || 2019-03-20 00:00:00 || 2019-03-25 00:00:00 || 2019-03-28 00:00:00 || 2019-03-29 00:00:00 || 2019-04-03 00:00:00 || 2019-04-03 00:00:00 || 2019-04-04 00:00:00 || 2019-04-06 00:00:00 || 2019-04-09 00:00:00 || 2019-05-01 00:00:00 || 2019-05-13 00:00:00 || 2019-05-15 00:00:00 || 2019-05-16 00:00:00 || 2019-05-18 00:00:00 |+---------------------+29 पंक्तियों में सेट (0.00 सेकंड)

20 सबसे हाल की पंक्तियों में से 5 यादृच्छिक पंक्तियों का चयन करने के लिए निम्नलिखित क्वेरी है -

mysql> tbl1 का चयन करें।* से (* शिपिंग तिथि द्वारा DemoTable ORDER DESC LIMIT 20 से चुनें) tbl1 के रूप में -> RAND द्वारा ORDER() LIMIT 5;

आउटपुट

यह निम्नलिखित आउटपुट देगा -

<पूर्व>+---------------------+| शिपिंग तिथि |+---------------------+| 2019-03-14 00:00:00 || 2019-05-13 00:00:00 || 2019-03-25 00:00:00 || 2019-05-16 00:00:00 || 2019-03-10 00:00:00 |+---------------------+5 पंक्तियों में सेट (0.04 सेकंड)
  1. मैं MySQL में तिथियों की सीमा से दिन कैसे उत्पन्न करूं?

    यह निम्नलिखित क्वेरी की सहायता से किया जा सकता है जो adddate() फ़ंक्शन का उपयोग करता है और हम 2016-12-15 और 2016-12-31 के बीच के दिनों को उत्पन्न कर रहे हैं - mysql> select * from     -> (select adddate('1970-01-01',t4*10000 + t3*1000 + t2*100 + t1*10 + t0) gen_date from &nb

  1. MySQL से अंतिम 10 पंक्तियों का चयन कैसे करें?

    MySQL से अंतिम 10 पंक्तियों का चयन करने के लिए, हम सेलेक्ट स्टेटमेंट और लिमिट कॉन्सेप्ट के साथ एक सबक्वेरी का उपयोग कर सकते हैं। निम्नलिखित एक उदाहरण है। एक टेबल बनाना। );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.75 सेकंड) तालिका में रिकॉर्ड सम्मिलित करना। Last10RecordsDemo मान (7, सैम), (8, जस्टिन),

  1. MySQL के साथ पिछली 50 प्रविष्टियों में से केवल 5 यादृच्छिक पंक्तियों का चयन करें?

    इसके लिए सबक्वेरी के साथ ORDER BY RAND() का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1853 ( UserId int NOT NULL AUTO_INCREMENT, PRIMARY KEY(UserId) );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1853 मानों में डा