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

तालिका से यादृच्छिक शब्दों का चयन

आप एक कॉलम जोड़ सकते हैं, उदा। word_length जिसमें शब्द की लंबाई हो, और word_length . पर एक अनुक्रमणिका जोड़ें कॉलम। आम तौर पर डेटा को शामिल करने के लिए यह खराब डिज़ाइन होगा जिसे किसी अन्य कॉलम से प्राप्त किया जा सकता है, लेकिन इस मामले में आपको प्रदर्शन के लिए शुद्धता को तोड़ने की जरूरत है। तब आपकी क्वेरी JOIN . का उपयोग कर सकती है इस कॉलम का उपयोग करने की स्थिति:

SELECT CONCAT(w1.my_word, w2.my_word) joined
FROM my_words w1
JOIN my_words w2 ON w1.word_length = 8 - w2.word_length
WHERE w2.word_length < 8
ORDER BY RAND()
LIMIT 5

आप INSERT . का उपयोग कर सकते हैं और UPDATE word_length . भरने के लिए ट्रिगर कॉलम स्वचालित रूप से।

5 पंक्तियों तक फ़िल्टर करने के बाद संयोजन करना भी सहायक हो सकता है:

SELECT CONCAT(word1, word2) joined
FROM (
    SELECT w1.my_word word1, w2.my_word word2
    FROM my_words w1
    JOIN my_words w2 ON w1.word_length = 8 - w2.word_length
    WHERE w2.word_length < 8
    ORDER BY RAND()
    LIMIT 5) x


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यदि मौजूद है तो मैं कैसे अपडेट करूं, यदि नहीं तो सम्मिलित करें (AKA upsert या merge) MySQL में?

  2. क्या MySQL कनेक्टर/जेडीबीसी थ्रेड सुरक्षित है?

  3. JDBC में JTable पर डेटा कॉलिंग का अनुकूलन करें

  4. मैं तैयार पीडीओ स्टेटमेंट का उपयोग करके ORDER BY params कैसे सेट करूं?

  5. एसक्यूएल:अंदरूनी के साथ अद्यतन करें LIMIT के साथ शामिल हों