MySQL स्टोर्ड प्रोसीजर में ORDER BY RAND() का उपयोग करके रैंडम नंबर जनरेट करना
MySQL में रैंडम नंबर जनरेट करने के लिए ORDER BY RAND() फ़ंक्शन का उपयोग किया जाता है। यहाँ हम एक स्टोर्ड प्रोसीजर बनाकर 5 रैंडम नंबर जनरेट करेंगे।
उदाहरण के साथ पूर्ण कार्यान्वयन
आइए पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE DemoTable (Value INT);
रिकॉर्ड डालना
mysql> INSERT INTO DemoTable VALUES(89), (98), (10), (78), (75), (76), (74), (99), (101);
सभी रिकॉर्ड प्रदर्शित करना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-------+
| Value |
+-------+
| 89 |
| 98 |
| 10 |
| 78 |
| 75 |
| 76 |
| 74 |
| 99 |
| 101 |
+-------+
9 rows in set (0.00 sec)
5 रैंडम नंबर जनरेट करने के लिए स्टोर्ड प्रोसीजर
mysql> DELIMITER //
mysql> CREATE PROCEDURE generate_Random5Numbers()
BEGIN
SELECT GROUP_CONCAT(Value SEPARATOR '/')
FROM (
SELECT Value
FROM (
SELECT Value
FROM DemoTable
WHERE Value BETWEEN 10 AND 100
ORDER BY RAND()
LIMIT 5
) Ascending_Order
ORDER BY Value
) 5Values;
END //
mysql> DELIMITER ;
स्टोर्ड प्रोसीजर कॉल करना
mysql> CALL generate_Random5Numbers();
आउटपुट:
+-----------------------------------+
| GROUP_CONCAT(Value SEPARATOR '/') |
+-----------------------------------+
| 89/74/78/99/10 |
+-----------------------------------+
1 row in set (0.00 sec)
मुख्य बिंदु:
ORDER BY RAND()पंक्तियों को यादृच्छिक क्रम में व्यवस्थित करता हैLIMIT 5केवल 5 पंक्तियाँ चुनता हैGROUP_CONCATपरिणाम को '/' सेपरेटर के साथ जोड़ता है- उपक्वेरी (subquery) का उपयोग करके परिणाम को आरोही क्रम में व्यवस्थित किया गया है