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

MySQL में दो फील्ड पर GROUP BY और COUNT कैसे करें?


MySQL में दो कॉलम पर GROUP BY करके प्रत्येक समूह की गिनती प्राप्त करें।

सिंटैक्स

SELECT column1, column2, COUNT(*) 
FROM yourTableName 
GROUP BY column1, column2 
ORDER BY column1 DESC;

उदाहरण

टेबल बनाना

mysql> create table GroupByTwoFieldsDemo (
-> Id int,
-> Name varchar(200)
-> ); Query OK, 0 rows affected (0.53 sec)

डुप्लिकेट रिकॉर्ड डालना

mysql> insert into GroupByTwoFieldsDemo values(1,'John');
mysql> insert into GroupByTwoFieldsDemo values(10,'Johnson');
mysql> insert into GroupByTwoFieldsDemo values(9,'Carol');
mysql> insert into GroupByTwoFieldsDemo values(6,'Sam');
mysql> insert into GroupByTwoFieldsDemo values(5,'David');
mysql> insert into GroupByTwoFieldsDemo values(10,'Johnson');  -- डुप्लिकेट
mysql> insert into GroupByTwoFieldsDemo values(6,'Sam');       -- डुप्लिकेट

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

mysql> select *from GroupByTwoFieldsDemo;
+------+---------+
| Id   | Name    |
+------+---------+
| 1    | John    |
| 10   | Johnson |
| 9    | Carol   |
| 6    | Sam     |
| 5    | David   |
| 10   | Johnson |
| 6    | Sam     |
+------+---------+

दो कॉलम पर GROUP BY और COUNT

mysql> select Id, Name, count(Id) from GroupByTwoFieldsDemo group by id desc, Name;
+------+---------+-----------+
| Id   | Name    | count(Id) |
+------+---------+-----------+
| 10   | Johnson | 2         |
| 9    | Carol   | 1         |
| 6    | Sam     | 2         |
| 5    | David   | 1         |
| 1    | John    | 1         |
+------+---------+-----------+

व्याख्या

  • GROUP BY id, Name — Id और Name दोनों के संयोजन पर ग्रुप बनाता है
  • COUNT(Id) — प्रत्येक ग्रुप में पंक्तियों की गिनती
  • ORDER BY id DESC — परिणाम को अवरोही क्रम में सॉर्ट करता है
  • चेतावनी: MySQL 5.7+ में ONLY_FULL_GROUP_BY मोड डिफ़ॉल्ट सक्षम है

ONLY_FULL_GROUP_BY मोड में सही क्वेरी

SELECT Id, Name, COUNT(*) as cnt
FROM GroupByTwoFieldsDemo
GROUP BY Id, Name
ORDER BY Id DESC;

अन्य उपयोगी वेरिएशन

-- केवल डुप्लिकेट ढूंढना (count > 1)
SELECT Id, Name, COUNT(*) as cnt
FROM GroupByTwoFieldsDemo
GROUP BY Id, Name
HAVING COUNT(*) > 1;

-- कुल अद्वितीय संयोजन
SELECT COUNT(DISTINCT CONCAT(Id, '|', Name)) FROM GroupByTwoFieldsDemo;

  1. - MySQL में CONCAT और ALTER TABLE ADD COLUMN से दो फील्ड जोड़कर तीसरा अपडेट करें

    MySQL में ALTER TABLE ... ADD COLUMN से नया कॉलम जोड़ें, फिर UPDATE ... SET ... CONCAT() से दो मौजूदा कॉलम जोड़कर नए कॉलम को भरें। चरण ALTER TABLE - नया कॉलम जोड़ें UPDATE - CONCAT() से मान भरें उदाहरण: FirstName + LastName = FullName 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO DemoTa

  1. - MySQL डेटाबेस बनाना और उपयोग करना

    एक बार MySQL इंस्टॉल हो जाने पर, और उपयोगकर्ता को पता है कि SQL स्टेटमेंट कैसे दर्ज करने हैं, एक डेटाबेस एक्सेस किया जा सकता है। आइए डेटाबेस में टेबल से डेटा प्राप्त करने के लिए आवश्यक चरणों को समझते हैं: सर्वर से कनेक्ट करें एक डेटाबेस बनाएं एक टेबल बनाएं टेबल में डेटा लोड करें टेबल से डेटा प्राप

  1. - Python में MySQL का उपयोग करके COUNT() और SUM() फ़ंक्शन समझाया गया

    ये टेबल में कॉलम मानों पर अंकगणितीय संक्रियाएं करने के लिए उपयोग किए जाने वाले फ़ंक्शन हैं। COUNT() फ़ंक्शन का उपयोग उन पंक्तियों की संख्या लौटाने के लिए किया जाता है जो किसी विशेष शर्त को पूरा करती हैं। SUM() फ़ंक्शन का उपयोग टेबल में किसी कॉलम में संख्यात्मक मानों का योग लौटाने के लिए किया जाता