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

MySQL में सबक्वेरी के साथ MAX() का उपयोग करके कॉलम के अधिकतम मान को सभी पंक्तियों के लिए सेट करना

MySQL में सबक्वेरी के साथ एक कॉलम के अधिकतम मान को सभी पंक्तियों के लिए चयन करना

स्केलर सबक्वेरी (SELECT MAX(Score) FROM DemoTable) का उपयोग SELECT सूची में करके, प्रत्येक पंक्ति के लिए उस कॉलम का अधिकतम मान प्रदर्शित किया जा सकता है।

व्यावहारिक उदाहरण

तालिका बनाना

mysql> CREATE TABLE DemoTable (
    FirstName VARCHAR(100),
    Score INT
);

रिकॉर्ड डालना

mysql> INSERT INTO DemoTable VALUES('David', 59);
mysql> INSERT INTO DemoTable VALUES('Chris', 97);
mysql> INSERT INTO DemoTable VALUES('Bob', 98);
mysql> INSERT INTO DemoTable VALUES('Carol', 91);

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------+-------+
| FirstName | Score |
+-----------+-------+
| David     | 59    |
| Chris     | 97    |
| Bob       | 98    |
| Carol     | 91    |
+-----------+-------+

प्रत्येक पंक्ति के लिए अधिकतम स्कोर दिखाने के लिए क्वेरी

mysql> SELECT FirstName, 
(SELECT MAX(Score) FROM DemoTable) AS Score 
FROM DemoTable;

आउटपुट:

+-----------+-------+
| FirstName | Score |
+-----------+-------+
| David     | 98    |
| Chris     | 98    |
| Bob       | 98    |
| Carol     | 98    |
+-----------+-------+

व्याख्या

  • सबक्वेरी (SELECT MAX(Score) FROM DemoTable) एकल मान (98) लौटाता है
  • यह मान मुख्य क्वेरी की प्रत्येक पंक्ति के लिए दोहराया जाता है
  • मूल Score कॉलम छिप जाता है (एलियास Score से)

वैकल्पिक तरीके


            
  1. - MySQL में GROUP_CONCAT और CASE से अलग शर्तों वाले समान कॉलम के मान जोड़ें

    एक ही कॉलम (Name) की अलग-अलग शर्तों (Subject) के मानों को जोड़ने के लिए CASE के साथ सशर्त एग्रीगेशन और CONCAT या GROUP_CONCAT का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1869 ( Id INT, Subject VARCHAR(20), Name VARCHAR(20) ); डेटा डालें mysql> INSERT INTO DemoTable1869 VALUES(

  1. - MySQL में विशिष्ट मान को फिक्स करके बाकी पंक्तियाँ रैंडम क्रम में कैसे दिखाएं?

    MySQL में किसी विशिष्ट मान वाली पंक्ति को शीर्ष पर फिक्स करके, शेष पंक्तियों को रैंडम क्रम में प्रदर्शित करने के लिए, ORDER BY में बूलियन एक्सप्रेशन और RAND() का संयोजन उपयोग करें। उदाहरण: मान 40 को शीर्ष पर रखें, बाकी रैंडम डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1921 (Number INT); डेट

  1. - MySQL में पहले तीन पंक्तियों के लिए कस्टम मान सेट करना

    ORDER BY और LIMIT से पहली N पंक्तियां अपडेट करें पहली तीन पंक्तियों के लिए एक विशिष्ट मान सेट करने के लिए ORDER BY और LIMIT 3 का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1968 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20) ); Query OK, 0 rows affected (0.0