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

MySQL में GROUP BY और COUNT का उपयोग करके डेट के अनुसार ग्रुपिंग और गणना कैसे करें?

MySQL में GROUP BY और COUNT का उपयोग

MySQL में GROUP BY क्लॉज और COUNT() फ़ंक्शन का उपयोग करके आप डेटा को ग्रुप कर सकते हैं और प्रत्येक ग्रुप में रिकॉर्ड्स की संख्या गिन सकते हैं। इसका बुनियादी सिंटैक्स निम्नलिखित है:

SELECT yourColumnName1, yourColumnName2, ..., COUNT(*) as anyAliasName 
FROM yourTableName 
GROUP BY yourColumnName1, yourColumnName2;

उदाहरण: टेबल बनाना और डेटा डालना

सबसे पहले, एक सैंपल टेबल बनाते हैं:

mysql> CREATE TABLE GroupAndCountByDate (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> TripDate DATE,
    -> ShopId INT,
    -> PRIMARY KEY(Id)
    -> );

अब इसमें कुछ रिकॉर्ड्स डालते हैं:

mysql> INSERT INTO GroupAndCountByDate(TripDate, ShopId) VALUES('2019-01-31', 10);
mysql> INSERT INTO GroupAndCountByDate(TripDate, ShopId) VALUES('2019-02-01', 15);
mysql> INSERT INTO GroupAndCountByDate(TripDate, ShopId) VALUES('2019-01-31', 10);
mysql> INSERT INTO GroupAndCountByDate(TripDate, ShopId) VALUES('2019-02-01', 15);
mysql> INSERT INTO GroupAndCountByDate(TripDate, ShopId) VALUES('2019-03-23', 20);
mysql> INSERT INTO GroupAndCountByDate(TripDate, ShopId) VALUES('2019-04-21', 25);
mysql> INSERT INTO GroupAndCountByDate(TripDate, ShopId) VALUES('2019-03-13', 20);
mysql> INSERT INTO GroupAndCountByDate(TripDate, ShopId) VALUES('2019-04-06', 25);

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

mysql> SELECT * FROM GroupAndCountByDate;

आउटपुट:

+----+------------+--------+
| Id | TripDate   | ShopId |
+----+------------+--------+
|  1 | 2019-01-31 |     10 |
|  2 | 2019-02-01 |     15 |
|  3 | 2019-01-31 |     10 |
|  4 | 2019-02-01 |     15 |
|  5 | 2019-03-23 |     20 |
|  6 | 2019-04-21 |     25 |
|  7 | 2019-03-13 |     20 |
|  8 | 2019-04-06 |     25 |
+----+------------+--------+

डेट और ShopId के अनुसार ग्रुपिंग और काउंट

mysql> SELECT TripDate, ShopId, COUNT(*) AS TOTALTRIP
    -> FROM GroupAndCountByDate
    -> GROUP BY TripDate, ShopId;

आउटपुट:

+------------+--------+-----------+
| TripDate   | ShopId | TOTALTRIP |
+------------+--------+-----------+
| 2019-01-31 |     10 |         2 |
| 2019-02-01 |     15 |         2 |
| 2019-03-23 |     20 |         1 |
| 2019-04-21 |     25 |         1 |
| 2019-03-13 |     20 |         1 |
| 2019-04-06 |     25 |         1 |
+------------+--------+-----------+

इस तरह आप GROUP BY और COUNT() का उपयोग करके डेटा को ग्रुप कर सकते हैं और प्रत्येक ग्रुप में रिकॉर्ड्स की संख्या प्राप्त कर सकते हैं।

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

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

  1. - MySQL में GROUP BY और COUNT का उपयोग करके डुप्लिकेट रिकॉर्ड्स समूहित करें और अधिकतम मान प्रदर्शित करें

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

  1. - DB2 में COUNT और GROUP BY का उदाहरण: ट्रांजैक्शन प्रति ऑर्डर गिनती

    समस्या TRANSACTIONS टेबल से प्रत्येक TRANSACTION_ID के लिए ORDER_ID की संख्या सूचीबद्ध करें। समाधान SELECT TRANSACTION_ID, COUNT(ORDER_ID) FROM TRANSACTIONS GROUP BY TRANSACTION_ID नमूना डेटा TRANSACTION_IDORDER_ID IRN22345A23118 IRN22345A45901 IRN22345A67990 IRN56902A23119 IRN99781A67921 IRN56