इसके लिए रैंडम रिकॉर्ड के लिए रैंड () का इस्तेमाल करें और LIMIT 1 केवल एक ही मूल्य प्राप्त करने के लिए। हालांकि, उस विशेष 'नाम' का चयन करने के लिए WHERE क्लॉज का उपयोग करें, जो दोहरा रहा हो।
आइए पहले एक टेबल बनाएं -
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20) ); Query OK, 0 rows affected (1.65 sec)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -
mysql> insert into DemoTable(Name) values('Chris'); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable(Name) values('Bob'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable(Name) values('David'); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable(Name) values('Bob'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable(Name) values('Bob'); Query OK, 1 row affected (0.08 sec)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -
mysql> select *from DemoTable;
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
+----+-------+ | Id | Name | +----+-------+ | 1 | Chris | | 2 | Bob | | 3 | David | | 4 | Bob | | 5 | Bob | +----+-------+ 5 rows in set (0.65 sec)
यादृच्छिक मान प्राप्त करने के लिए निम्नलिखित क्वेरी है -
mysql> select *from DemoTable where Name='Bob' order by rand() limit 1;
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
+----+------+ | Id | Name | +----+------+ | 5 | Bob | +----+------+ 1 row in set (0.00 sec)