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

MySQL तालिका में प्रत्येक मान के लिए अधिकतम (MAX) कैसे चुनें?

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

उदाहरण

देश जनसंख्या तालिका:

mysql> CREATE TABLE DemoTable (CountryName VARCHAR(20), Population INT);
mysql> INSERT INTO DemoTable VALUES ('US', 560), ('UK', 10090), ('UK', 8794), ('US', 1090);

डेटा

+-------------+------------+
| CountryName | Population |
+-------------+------------+
| US          |        560 |
| UK          |      10090 |
| UK          |       8794 |
| US          |       1090 |
+-------------+------------+

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

mysql> SELECT CountryName, MAX(Population) FROM DemoTable GROUP BY CountryName;

परिणाम

+-------------+-----------------+
| CountryName | max(Population) |
+-------------+-----------------+
| US          |            1090 |
| UK          |           10090 |
+-------------+-----------------+

व्याख्या

  • US: MAX(560, 1090) = 1090
  • UK: MAX(10090, 8794) = 10090

विस्तार: एकाधिक एग्रीगेशन

SELECT 
    CountryName,
    MAX(Population) AS MaxPop,
    MIN(Population) AS MinPop,
    AVG(Population) AS AvgPop,
    SUM(Population) AS TotalPop,
    COUNT(*) AS Records
FROM DemoTable
GROUP BY CountryName;

HAVING के साथ फ़िल्टर

SELECT CountryName, MAX(Population) 
FROM DemoTable 
GROUP BY CountryName 
HAVING MAX(Population) > 5000;

मुख्य बिंदु

  • GROUP BY - समान देश वाली पंक्तियों को समूहित करता है
  • MAX() - प्रत्येक समूह के लिए अधिकतम मान
  • SELECT में केवल समूहीकृत कॉलम या एग्रीगेट फ़ंक्शन
  • इंडेक्स (CountryName, Population) क्वेरी को तेज़ करता है

उपयोग केस

  • श्रेणी-वार अधिकतम बिक्री
  • प्रति-उपयोगकर्ता उच्चतम स्कोर
  • प्रति-दिन अधिकतम तापमान
  • विभाग-वार उच्चतम वेतन
  1. - MySQL में टेबल में मौजूद न होने वाले मानों को कैसे क्वेरी करें?

    MySQL में किसी टेबल में मौजूद नहीं होने वाले मानों को खोजने के लिए, UNION ALL के साथ WHERE NOT EXISTS या NOT IN का उपयोग करें। यह गैप विश्लेषण या मिसिंग सीक्वेंस खोजने के लिए उपयोगी है। उदाहरण: मिसिंग ऑटो-इन्क्रीमेंट मान खोजना ऑटो-इन्क्रीमेंट टेबल बनाएं: mysql> CREATE TABLE DemoTable1918 (

  1. - MySQL में टेबल A की तुलना में टेबल B में नहीं होने पर टेबल C में डेटा डालें

    समाधान टेबल A और B पर LEFT JOIN का उपयोग करें, जहां B में मेल नहीं खाता वहां के रिकॉर्ड टेबल C में डालें। उदाहरण टेबल A (demo20): INSERT INTO demo20 VALUES (100,John), (101,Bob), (102,Mike), (103,Carol); टेबल B (demo21): INSERT INTO demo21 VALUES (100,Sam), (101,Adam), (133,Bob), (145,David); ट

  1. - MySQL में किसी कॉलम में अधिकतम मान खोजना

    किसी कॉलम में अधिकतम मान खोजने के लिए MAX(columnName) का उपयोग करना होगा। लेकिन, पहले, हम MySQL में डेटाबेस और टेबल के बारे में समझेंगे। MySQL इंस्टॉल करने से पहले, यह निर्धारित करना महत्वपूर्ण है कि किस संस्करण और किस डिस्ट्रीब्यूशन फॉर्मेट (यह बाइनरी फाइल या सोर्स फाइलों से हो सकता है) का उपयोग