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

MySQL में रैंडम रो कैसे चुनें?


रैंडम रो चुनने के लिए MySQL में RAND() के साथ LIMIT का उपयोग करें।

सिंटैक्स

SELECT * FROM yourTableName 
ORDER BY RAND() LIMIT 1;

उदाहरण के साथ समझें

सबसे पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE generateRandomRow (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> Name VARCHAR(20),
    -> Age INT,
    -> PRIMARY KEY(Id)
    -> ); 
Query OK, 0 rows affected (1.66 sec)

रिकॉर्ड डालें

mysql> INSERT INTO generateRandomRow(Name, Age) VALUES('John', 23); 
Query OK, 1 row affected (0.22 sec)
mysql> INSERT INTO generateRandomRow(Name, Age) VALUES('Larry', 21); 
Query OK, 1 row affected (0.32 sec)
mysql> INSERT INTO generateRandomRow(Name, Age) VALUES('David', 21); 
Query OK, 1 row affected (0.39 sec)
mysql> INSERT INTO generateRandomRow(Name, Age) VALUES('Carol', 24); 
Query OK, 1 row affected (0.21 sec)
mysql> INSERT INTO generateRandomRow(Name, Age) VALUES('Bob', 27); 
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO generateRandomRow(Name, Age) VALUES('Mike', 29); 
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO generateRandomRow(Name, Age) VALUES('Sam', 26); 
Query OK, 1 row affected (0.17 sec)

सभी रिकॉर्ड देखें

mysql> SELECT * FROM generateRandomRow;

आउटपुट

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
| 1  | John  | 23   |
| 2  | Larry | 21   |
| 3  | David | 21   |
| 4  | Carol | 24   |
| 5  | Bob   | 27   |
| 6  | Mike  | 29   |
| 7  | Sam   | 26   |
+----+-------+------+
7 rows in set (0.00 sec)

रैंडम रो चुनें

mysql> SELECT * FROM generateRandomRow ORDER BY RAND() LIMIT 1;

आउटपुट (पहली बार)

+----+------+------+
| Id | Name | Age  |
+----+------+------+
| 5  | Bob  | 27   |
+----+------+------+
1 row in set (0.00 sec)

फिर से चलाएं (दूसरी बार)

mysql> SELECT * FROM generateRandomRow ORDER BY RAND() LIMIT 1;

आउटपुट (दूसरी बार)

+----+------+------+
| Id | Name | Age  |
+----+------+------+
| 6  | Mike | 29   |
+----+------+------+
1 row in set (0.00 sec)

हर बार क्वेरी चलाने पर अलग-अलग रैंडम रो प्राप्त होती है। RAND() प्रत्येक पंक्ति के लिए एक रैंडम फ्लोटिंग-पॉइंट मान उत्पन्न करता है, और ORDER BY RAND() उन्हें रैंडमली सॉर्ट करता है।

  1. - MySQL में एकाधिक घटनाओं वाले नाम के लिए रैंडम पंक्ति (Id और Name) कैसे चुनें?

    MySQL: डुप्लिकेट नाम वाले रिकॉर्ड से रैंडम पंक्ति चुनना जब किसी नाम की कई पंक्तियां हों और उनमें से एक रैंडम पंक्ति चाहिए, तो WHERE Name = value के साथ ORDER BY RAND() LIMIT 1 का उपयोग करें। उदाहरण: Bob नाम की रैंडम पंक्ति टेबल बनाएं: CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIM

  1. - MySQL SELECT स्टेटमेंट में ROW_NUMBER() का उपयोग करके रो इंडेक्स (रैंक) कैसे जनरेट करें

    ROW_NUMBER() विंडो फंक्शन के साथ रो इंडेक्स जनरेट करना MySQL 8.0+ में रो इंडेक्स या रैंक जनरेट करने के लिए ROW_NUMBER() विंडो फंक्शन का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( Name VARCHAR(40) ); रिकॉर्ड्स इन्सर्ट करें: mysql> INSERT INTO DemoTable VALUES (C

  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड