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

MySQL ORDER BY RAND() से परिणाम सेट को शफल (फेरबदल) कैसे करें

ORDER BY RAND() का उपयोग करके क्वेरी परिणाम को रैंडम क्रम में फेरबदल (shuffle) कर सकते हैं।

नमूना डेटा

mysql> SELECT * FROM employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | 20000  |
| 6  | Mohan  | 30000  |
| 7  | Aryan  | NULL   |
| 8  | Vinay  | NULL   |
+----+--------+--------+

क्वेरी

mysql> SELECT * FROM Employee ORDER BY RAND();

परिणाम (एक संभावित क्रम)

+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 4  | Aarav  | 65000  |
| 1  | Gaurav | 50000  |
| 3  | Advik  | 25000  |
| 7  | Aryan  | NULL   |
| 6  | Mohan  | 30000  |
| 8  | Vinay  | NULL   |
| 5  | Ram    | 20000  |
| 2  | Rahul  | 20000  |
+----+--------+--------+

व्याख्या

  • प्रत्येक पंक्ति के लिए RAND() कॉल होता है
  • रैंडम मान के आधार पर क्रमबद्ध
  • हर निष्पादन पर अलग क्रम

उपयोग के मामले

  • रैंडम नमूना प्रदर्शन
  • A/B टेस्टिंग के लिए उपयोगकर्ता यादृच्छिकरण
  • क्विज/गेम में प्रश्न क्रम फेरबदल

प्रदर्शन नोट

ORDER BY RAND() बड़ी टेबल्स पर धीमा है (टेम्पररी टेबल + फाइलसॉर्ट)। 10K+ पंक्तियों के लिए वैकल्पिक विधियां उपयोग करें।

  1. - MySQL में UNION और ORDER BY क्लॉज का उपयोग कैसे करें

    यूनियन MySQL में एक प्रकार का ऑपरेटर है। हम रिकॉर्ड्स को फ़िल्टर करने के लिए इसके साथ ORDER BY का उपयोग कर सकते हैं। यदि आप कई टेबल्स से या एक ही टेबल से पंक्तियों के कई सेट्स को एकल परिणाम सेट के रूप में एक के बाद एक चुनना चाहते हैं तो UNION का उपयोग करें। आइए एक उदाहरण देखते हैं। पहली टेबल बनाना

  1. - MySQL में IN क्लॉज के क्रम में पंक्तियाँ कैसे चुनें?

    MySQL में FIND_IN_SET() का उपयोग करके IN क्लॉज के क्रम में परिणाम प्राप्त करना डिफ़ॉल्ट रूप से IN() क्लॉज परिणामों को सॉर्ट कर देता है। मूल क्रम बनाए रखने के लिए FIND_IN_SET() का उपयोग करें। सिंटैक्स SELECT yourAlias.* FROM yourTableName yourAlias WHERE yourAlias.yourColumnName IN (value1, value2,

  1. - MySQL में GROUP BY में MIN/MAX सबक्वेरी से समूह प्रतिनिधि पंक्ति चुनें

    MySQL में GROUP BY के साथ प्रत्येक समूह से एक विशिष्ट पंक्ति (जैसे न्यूनतम ID वाली) चुनने के लिए सबक्वेरी में MIN() या MAX() का उपयोग करें। उदाहरण: प्रत्येक अंक समूह से न्यूनतम StudentId वाली पंक्ति 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO DemoTable1572 VALUES(4, 79, Bob); -- समान अंक 79 3.