RAND() फ़ंक्शन का उपयोग
MySQL में रैंडम पूर्णांक (random integer) जनरेट करने के लिए RAND() फ़ंक्शन का उपयोग करें, जिसे FLOOR() के साथ जोड़कर पूर्णांक रेंज प्राप्त करें।
सूत्र
FLOOR(min + RAND() * (max - min + 1))
यह min से max (सम्मिलित) के बीच रैंडम पूर्णांक देता है।
व्यावहारिक उदाहरण: 1 से 14 तक रैंडम संख्या
1. टेबल बनाएं और डेटा डालें
mysql> CREATE TABLE RandomIntegerDemo (
-> Number INT
-> );
Query OK, 0 rows affected (0.61 sec)
mysql> INSERT INTO RandomIntegerDemo VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14);
Query OK, 14 rows affected (0.14 sec)
2. रैंडम मान जनरेट करें
mysql> SELECT Number, FLOOR(1 + RAND() * 14) AS RandomValue
-> FROM RandomIntegerDemo
-> LIMIT 0, 14;
+--------+-------------+
| Number | RandomValue |
+--------+-------------+
| 1 | 9 |
| 2 | 8 |
| 3 | 13 |
| 4 | 13 |
| 5 | 10 |
| 6 | 10 |
| 7 | 7 |
| 8 | 3 |
| 9 | 8 |
| 10 | 2 |
| 11 | 14 |
| 12 | 6 |
| 13 | 3 |
| 14 | 9 |
+--------+-------------+
14 rows in set (0.00 sec)
महत्वपूर्ण बिंदु
RAND()हर पंक्ति के लिए अलग मान देता है (यदि सीड नहीं दिया गया)RAND(seed)में सीड देने पर परिणाम दोहराने योग्य होता हैFLOOR()दशमलव को पूर्णांक में बदलता हैLIMITकेवल प्रदर्शन सीमित करता है, रैंडम जनरेशन पर प्रभाव नहीं डालता
उन्नत: बीज (SEED) के साथ दोहराने योग्य परिणाम
SELECT FLOOR(1 + RAND(42) * 14) AS reproducible_random;
समान सीड (42) हमेशा समान क्रम देगा।
चेतावनी
बड़े डेटासेट पर ORDER BY RAND() धीमा होता है। रैंडम सैंपलिंग के लिए अन्य तकनीकों (जैसे ऑफसेट-आधारित) पर विचार करें।