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

MySQL- GROUP और COUNT तिथि के अनुसार?

<घंटा/>

इसके लिए आप ग्रुप बाय क्लॉज और COUNT () फंक्शन का इस्तेमाल कर सकते हैं। वाक्य रचना इस प्रकार है -

SELECT yourColumnName1,yourColumnName2,..N,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)
   -> );
Query OK, 0 rows affected (0.79 sec)

अब आप इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डाल सकते हैं। क्वेरी इस प्रकार है -

mysql> insert into GroupAndCountByDate(TripDate,ShopId) values('2019-01-31',10);
Query OK, 1 row affected (0.52 sec)
mysql> insert into GroupAndCountByDate(TripDate,ShopId) values('2019-02-01',15);
Query OK, 1 row affected (0.17 sec)
mysql> insert into GroupAndCountByDate(TripDate,ShopId) values('2019-01-31',10);
Query OK, 1 row affected (0.23 sec)
mysql> insert into GroupAndCountByDate(TripDate,ShopId) values('2019-02-01',15);
Query OK, 1 row affected (0.31 sec)
mysql> insert into GroupAndCountByDate(TripDate,ShopId) values('2019-03-23',20);
Query OK, 1 row affected (0.15 sec)
mysql> insert into GroupAndCountByDate(TripDate,ShopId) values('2019-04-21',25);
Query OK, 1 row affected (0.20 sec)
mysql> insert into GroupAndCountByDate(TripDate,ShopId) values('2019-03-13',20);
Query OK, 1 row affected (0.16 sec)
mysql> insert into GroupAndCountByDate(TripDate,ShopId) values('2019-04-06',25);
Query OK, 1 row affected (0.17 sec)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

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 |
+----+------------+--------+
8 rows in set (0.00 sec)

यहां ग्रुप और तारीख के हिसाब से गिनने की क्वेरी दी गई है -

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 |
+------------+--------+-----------+
6 rows in set (0.00 sec)

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

    आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.85 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1496(PassengerCode,ArrivalDate) मान (202,2013-03-18 04:10:01) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिक

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

    आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.79 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें ( 30,678);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.09 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें - डेमोटेबल से *चुनें;

  1. - COUNT फ़ंक्शन और GROUP BY का वर्णन करने वाली SQL क्वेरी का उदाहरण

    समस्या: किसी विशेष लेनदेन (TRANSACTION_ID) को सौंपे गए आदेशों की संख्या (ORDER_ID) को सूचीबद्ध करने के लिए TRANSACTIONS DB2 तालिका पर एक प्रश्न लिखें। समाधान लेन-देन DB2 तालिका पर किसी विशेष लेनदेन आईडी को निर्दिष्ट आदेशों की संख्या का पता लगाने के लिए हम नीचे दी गई क्वेरी का उपयोग कर सकते हैं। उ