MySQL में RAND() फ़ंक्शन का उपयोग करके रैंडम रिकॉर्ड चुनना
MySQL का RAND() फ़ंक्शन 0 से 1 के बीच एक रैंडम फ्लोटिंग-पॉइंट मान उत्पन्न करता है। इसका उपयोग ORDER BY के साथ करके रैंडम पंक्तियां प्राप्त की जा सकती हैं।
व्यावहारिक उदाहरण
तालिका बनाना
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName VARCHAR(100),
ClientAge INT
);
रिकॉर्ड डालना
mysql> INSERT INTO DemoTable(ClientName, ClientAge) VALUES('Robert', 45);
mysql> INSERT INTO DemoTable(ClientName, ClientAge) VALUES('Mike', 55);
mysql> INSERT INTO DemoTable(ClientName, ClientAge) VALUES('Bob', 42);
mysql> INSERT INTO DemoTable(ClientName, ClientAge) VALUES('Sam', 47);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+----+------------+-----------+ | Id | ClientName | ClientAge | +----+------------+-----------+ | 1 | Robert | 45 | | 2 | Mike | 55 | | 3 | Bob | 42 | | 4 | Sam | 47 | +----+------------+-----------+
रैंडम एंट्री चुनने के लिए क्वेरी
mysql> SELECT * FROM DemoTable ORDER BY RAND() LIMIT 1;
आउटपुट (हर बार अलग हो सकता है):
+----+------------+-----------+ | Id | ClientName | ClientAge | +----+------------+-----------+ | 3 | Bob | 42 | +----+------------+-----------+
प्रदर्शन नोट: बड़े तालिकाओं पर ORDER BY RAND() धीमा हो सकता है क्योंकि यह सभी पंक्तियों के लिए रैंडम मान उत्पन्न करता है। बड़े डेटासेट के लिए अन्य विधियों पर विचार करें।