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

MySQL सबक्वेरी का उपयोग करके अधिकतम आयु वाले सभी उपयोगकर्ताओं का चयन करें

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

mysql> create table DemoTable ( 
    Name varchar(100), 
    Age int ); 
Query OK, 0 rows affected (0.46 sec)

इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:

mysql> insert into DemoTable values('Chris',23); 
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('David',55); 
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Bob',53); 
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values('Mike',54); 
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values('Sam',55); 
Query OK, 1 row affected (0.18 sec)

सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> select * from DemoTable;

यह निम्नलिखिक आउटपुट देगा:

+-------+------+
| Name  | Age  |
+-------+------+
| Chris | 23   |
| David | 55   |
| Bob   | 53   |
| Mike  | 54   |
| Sam   | 55   |
+-------+------+
5 rows in set (0.00 sec)

अधिकतम आयु वाले सभी उपयोगकर्ताओं का चयन करने की क्वेरी

mysql> select * from DemoTable where Age=(select max(Age) from DemoTable);

यह निम्नलिखिक आउटपुट देगा:

+-------+------+
| Name  | Age  |
+-------+------+
| David | 55   |
| Sam   | 55   |
+-------+------+
2 rows in set (0.00 sec)

व्याख्या

  • SELECT MAX(Age) FROM DemoTable सबक्वेरी अधिकतम आयु (55) लौटाती है
  • बाहरी क्वेरी WHERE Age = 55 वाली पंक्तियाँ ढूंढती है
  • David और Sam दोनों की आयु 55 है, इसलिए दोनों लौटाए जाते हैं
  • यह JOIN या विंडो फ़ंक्शन के बिना शीर्ष मान खोजने का मानक पैटर्न है

वैकल्पिक: JOIN का उपयोग

SELECT d1.* FROM DemoTable d1
JOIN (SELECT MAX(Age) AS max_age FROM DemoTable) d2 ON d1.Age = d2.max_age;

विंडो फ़ंक्शन (MySQL 8.0+)

SELECT Name, Age FROM (
  SELECT Name, Age, RANK() OVER (ORDER BY Age DESC) as rnk FROM DemoTable
) t WHERE rnk = 1;
  1. - MySQL में ENUM फील्ड का उपयोग करके पंक्तियों का चयन कैसे करें?

    MySQL में ENUM डेटा प्रकार पूर्वनिर्धारित मानों तक सीमित करता है। ENUM कॉलम पर क्वेरी करते समय NULL मानों और तुलना व्यवहार को समझना महत्वपूर्ण है। ENUM तालिका बनाएं mysql> CREATE TABLE DemoTable ( -> EmployeeStatus ENUM(FULLTIME, Intern) DEFAULT NULL -> ); डेटा डालें mysql> INS

  1. - MySQL में NULL या नॉन-NULL मानों वाले टेबल के सभी फील्ड अपडेट करें

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.58 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(10,NULL); Query OK, 1 row affected (0.32 sec) mysql&

  1. - MySQL SLES रिपॉजिटरी के साथ MySQL अपग्रेड करना

    MySQL को MySQL SLES रिपॉजिटरी का उपयोग करके अपग्रेड किया जा सकता है। आइए इस अपग्रेडेशन के लिए आवश्यक चरण देखें। डिफ़ॉल्ट रूप से, MySQL SLES रिपॉजिटरी MySQL को उस रिलीज़ सीरीज़ में नवीनतम संस्करण में अपडेट करती है जिसे उपयोगकर्ता ने इंस्टॉलेशन के दौरान चुना होगा। एक अलग रिलीज़ सीरीज़ में अपडेट करने