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

MySQL में छात्र के दो अंक कॉलम (Marks1, Marks2) से अधिकतम व्यक्तिगत अंक कैसे प्राप्त करें?

MySQL में MAX() और GROUP BY का उपयोग करके प्रत्येक छात्र के लिए एकाधिक अंक कॉलम में से अधिकतम मान प्राप्त किया जा सकता है।

उदाहरण

तालिका बनाएं:

mysql> CREATE TABLE DemoTable (
    ->> StudentEmailId VARCHAR(20), Marks1 INT, Marks2 INT
    ->> );
mysql> INSERT INTO DemoTable VALUES 
    ->> ('John@gmail.com', 45, 32), ('John@gmail.com', 32, 45),
    ->> ('Carol@gmail.com', 32, 45), ('David@gmail.com', 45, 32);

डेटा

+-----------------+--------+--------+
| StudentEmailId  | Marks1 | Marks2 |
+-----------------+--------+--------+
| John@gmail.com  |     45 |     32 |
| John@gmail.com  |     32 |     45 |
| Carol@gmail.com |     32 |     45 |
| David@gmail.com |     45 |     32 |
+-----------------+--------+--------+

क्वेरी: प्रत्येक छात्र के लिए Marks1 और Marks2 का अधिकतम

mysql> SELECT StudentEmailId, MAX(Marks1), MAX(Marks2)
    ->> FROM DemoTable
    ->> GROUP BY StudentEmailId;

परिणाम

+-----------------+-------------+-------------+
| StudentEmailId  | max(Marks1) | max(Marks2) |
+-----------------+-------------+-------------+
| John@gmail.com  |          45 |          45 |
| Carol@gmail.com |          32 |          45 |
| David@gmail.com |          45 |          32 |
+-----------------+-------------+-------------+

व्याख्या

  • John: Marks1 में 45 और 32 → MAX=45; Marks2 में 32 और 45 → MAX=45
  • Carol: Marks1=32, Marks2=45
  • David: Marks1=45, Marks2=32

संबंधित: दोनों में से समग्र अधिकतम

SELECT StudentEmailId, GREATEST(MAX(Marks1), MAX(Marks2)) AS OverallMax
FROM DemoTable GROUP BY StudentEmailId;

परिणाम

+-----------------+------------+
| StudentEmailId  | OverallMax |
+-----------------+------------+
| John@gmail.com  |         45 |
| Carol@gmail.com |         45 |
| David@gmail.com |         45 |
+-----------------+------------+

पंक्ति-स्तर अधिकतम (प्रति रिकॉर्ड)

SELECT StudentEmailId, GREATEST(Marks1, Marks2) AS RowMax FROM DemoTable;

मुख्य बिंदु

  • GROUP BY - ईमेल के अनुसार समूहित
  • MAX() - प्रत्येक समूह के लिए प्रति-कॉलम अधिकतम
  • GREATEST() - एक पंक्ति में एकाधिक कॉलम में से अधिकतम
  1. - MySQL में छात्र के अंकों को ग्रुप करके कुल अंक कैसे प्रदर्शित करें?

    MySQL में किसी कॉलम के मानों को ग्रुप करके एग्रीगेट फंक्शन (जैसे SUM()) लागू करने के लिए GROUP BY क्लॉज़ का उपयोग करें। यह प्रति छात्र कुल अंक, औसत, गिनती आदि निकालने का मानक तरीका है। उदाहरण: प्रति छात्र कुल अंक डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1920 ( StudentName VARCHAR(20),

  1. - MySQL में GROUP BY और MAX का उपयोग करके समान नाम वाले छात्रों की अधिकतम आयु प्राप्त करें

    MySQL में GROUP BY और MAX() का उपयोग करके प्रति समूह अधिकतम मान खोजना जब आपके पास डुप्लिकेट नाम (या अन्य समूहन कॉलम) हों और आप प्रत्येक समूह के लिए अधिकतम मान खोजना चाहते हैं, तो GROUP BY के साथ MAX() एग्रीगेट फ़ंक्शन का उपयोग करें। टेबल बनाना ); Query OK, 0 rows affected (0.00 sec) डुप्लिकेट नाम

  1. - MySQL में न्यूनतम और अधिकतम मान प्राप्त करना

    किसी कॉलम में अधिकतम मान खोजने के लिए MAX(columnName) का उपयोग करना होगा, जबकि किसी कॉलम में न्यूनतम मान खोजने के लिए MIN(columnName) का उपयोग करना होगा। मान लीजिए किसी विशिष्ट कॉलम में उच्चतम और निम्नतम मान खोजने का सिंटैक्स इस प्रकार है: mysql> SELECT @min_val:=MIN(columnName),@max_val:=MAX(c