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

MySQL में ग्रुप में अधिकतम काउंट वाले रिकॉर्ड को अन्य कॉलम मानों के साथ कैसे प्रदर्शित करें

GROUP BY HAVING का उपयोग करके अधिकतम काउंट वाला रिकॉर्ड खोजना

इसके लिए GROUP BY HAVING क्लॉज का उपयोग करें। आइए पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable (
    Value INT
);

टेबल में रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable VALUES (88);
mysql> INSERT INTO DemoTable VALUES (88);
mysql> INSERT INTO DemoTable VALUES (88);
mysql> INSERT INTO DemoTable VALUES (99);
mysql> INSERT INTO DemoTable VALUES (99);
mysql> INSERT INTO DemoTable VALUES (99);
mysql> INSERT INTO DemoTable VALUES (99);
mysql> INSERT INTO DemoTable VALUES (100);
mysql> INSERT INTO DemoTable VALUES (100);
mysql> INSERT INTO DemoTable VALUES (88);
mysql> INSERT INTO DemoTable VALUES (88);

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-------+
| Value |
+-------+
| 88    |
| 88    |
| 88    |
| 99    |
| 99    |
| 99    |
| 99    |
| 100   |
| 100   |
| 88    |
| 88    |
+-------+

अधिकतम काउंट वाले मान को उसके काउंट के साथ प्रदर्शित करने के लिए क्वेरी:

mysql> SELECT Value, COUNT(*) AS NumberOfCount
    FROM DemoTable
    GROUP BY Value
    HAVING COUNT(*) = (
        SELECT COUNT(*) AS NumberOfCount
        FROM DemoTable
        GROUP BY Value
        ORDER BY NumberOfCount DESC
        LIMIT 1
    );

आउटपुट:

+-------+---------------+
| Value | NumberOfCount |
+-------+---------------+
| 88    | 5             |
+-------+---------------+

व्याख्या: सबक्वेरी पहले प्रत्येक मान का काउंट निकालती है, फिर उन्हें डिसेंडिंग ऑर्डर में सॉर्ट करके सबसे ऊपर वाले (अधिकतम काउंट) को चुनती है। मुख्य क्वेरी HAVING क्लॉज का उपयोग करके केवल उसी मान को चुनती है जिसका काउंट इस अधिकतम काउंट के बराबर हो।

  1. - MySQL में तिथि के अनुसार परिणाम समूहित करना और डुप्लिकेट मानों की गिनती दिखाना

    तिथि और LIKE फ़िल्टर के साथ समूह गिनती DATE() फ़ंक्शन से केवल तिथि भाग निकालकर GROUP BY करें, और LIKE से पैटर्न मिलान करें। तालिका और डेटा (202, 2013-03-18 04:10:01); क्वेरी: 202 से शुरू होने वाले कोड की तिथिवार गिनती GROUP BY DATE(ArrivalDate); परिणाम +-------------------+-------------------

  1. - MySQL में कॉलम मानों को शफ़ल करना

    परिचय MySQL में ORDER BY RAND() का उपयोग करके टेबल की पंक्तियों को यादृच्छिक क्रम में प्राप्त किया जा सकता है, जिससे प्रभावी रूप से कॉलम मान शफ़ल हो जाते हैं। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.91 sec) INSERT INTO DemoTable1557(SubjectName) VALUES(C); Query OK, 1 ro

  1. - एकल MySQL क्वेरी में एक कॉलम में एकाधिक मान कैसे डालें?

    सिंटैक्स एक कॉलम में एकाधिक मान डालने के लिए, निम्नलिखित सिंटैक्स का उपयोग करें: INSERT INTO yourTableName VALUES (yourValue1), (yourValue2), ... (yourValueN); उदाहरण सबसे पहले एक टेबल बनाते हैं: ); अब INSERT कमांड का उपयोग करके रिकॉर्ड डालें: INSERT INTO DemoTable2022 VALUES (Computer Science)