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

MySQL में GROUP BY और COUNT() का उपयोग करके नामों द्वारा ग्रुप करके काउंट नए कॉलम में प्रदर्शित करना

GROUP BY और COUNT() के साथ नामवार पंक्ति गिनती

नाम के अनुसार रिकॉर्ड्स ग्रुप करके प्रत्येक नाम की घटनाओं को नए कॉलम में गिनने के लिए GROUP BY के साथ COUNT() का उपयोग करें।

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

mysql> CREATE TABLE DemoTable (
    Name VARCHAR(30)
);

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

mysql> INSERT INTO DemoTable VALUES ('Chris');
mysql> INSERT INTO DemoTable VALUES ('Robert');
mysql> INSERT INTO DemoTable VALUES ('Mike');
mysql> INSERT INTO DemoTable VALUES ('Robert');
mysql> INSERT INTO DemoTable VALUES ('Mike');
mysql> INSERT INTO DemoTable VALUES ('David');

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+--------+
| Name   |
+--------+
| Chris  |
| Robert |
| Mike   |
| Robert |
| Mike   |
| David  |
+--------+

नाम के अनुसार ग्रुप करके काउंट नए कॉलम में प्रदर्शित करने के लिए क्वेरी:

mysql> SELECT Name, COUNT(Name) AS NumberOfRowsPerName
    FROM DemoTable
    GROUP BY Name;

आउटपुट:

+--------+---------------------+
| Name   | NumberOfRowsPerName |
+--------+---------------------+
| Chris  | 1                   |
| Robert | 2                   |
| Mike   | 2                   |
| David  | 1                   |
+--------+---------------------+

व्याख्या:

  • GROUP BY Name: समान नाम वाली पंक्तियों को एक ग्रुप में जोड़ता है
  • COUNT(Name): प्रत्येक ग्रुप में पंक्तियों की संख्या गिनता है (NULL मान नहीं गिनता, लेकिन यहां NULL नहीं है)
  • AS NumberOfRowsPerName: परिणाम कॉलम को अर्थपूर्ण नाम देता है

गणना:

  • Chris: 1 बार
  • Robert: 2 बार (पंक्ति 2 और 4)
  • Mike: 2 बार (पंक्ति 3 और 5)
  • David: 1 बार

वैकल्पिक COUNT(*): COUNT(*) भी समान परिणाम देगा क्योंकि कोई NULL नहीं है। COUNT(Name) केवल नॉन-NULL नाम गिनता है।

काउंट द्वारा सॉर्टिंग:

SELECT Name, COUNT(*) AS cnt
FROM DemoTable
GROUP BY Name
ORDER BY cnt DESC;

सबसे अधिक बार आने वाले नाम पहले दिखेंगे।

  1. - MySQL क्वेरी डुप्लिकेट टुपल्स खोजने और गिनती प्रदर्शित करने के लिए?

    डुप्लिकेट टुपल्स खोजने के लिए GROUP BY HAVING क्लॉज का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.80 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into De

  1. - MySQL में DATE_ADD से 45 दिन जोड़कर नए कॉलम में कैसे प्रदर्शित करें?

    MySQL में DATE/DATETIME कॉलम में दिन जोड़ने और परिणाम को नए कॉलम में प्रदर्शित करने के लिए DATE_ADD() फंक्शन (या + INTERVAL सिंटैक्स) का उपयोग करें। यह देय तारीख, समाप्ति तारीख, शेड्यूलिंग गणना के लिए आवश्यक है। उदाहरण: DueTime में 45 दिन जोड़ना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable19

  1. - MySQL में रिकॉर्ड घटनाओं की गिनती करके नए कॉलम में कैसे प्रदर्शित करें?

    MySQL में किसी कॉलम के मान की घटनाओं (occurrences) को गिनकर नए कॉलम के रूप में प्रदर्शित करने के लिए, COUNT(*) के साथ GROUP BY का उपयोग करें। यह डेटा वितरण विश्लेषण, डुप्लिकेट पहचान, और आवृत्ति रिपोर्टिंग के लिए मानक तरीका है। उदाहरण: Value कॉलम की घटनाएं गिनना डेमो टेबल बनाएं: mysql> CREATE T