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 तालिका पर किसी विशेष लेनदेन आईडी को निर्दिष्ट आदेशों की संख्या का पता लगाने के लिए हम नीचे दी गई क्वेरी का उपयोग कर सकते हैं। उ