কম্পিউটার টিউটোরিয়াল

MySQL- গ্রুপ এবং COUNT দিয়ে তারিখ অনুযায়ী ডেটা বরাদ্দ করা

MySQL-এ GROUP BY ক্লজ এবং 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)

টেবিলের সকল রেকর্ড দেখতে select স্টেটমেন্ট ব্যবহার করি:

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 কোয়েরি নাম দিয়ে গ্রুপ বাই করে কাউন্ট নতুন কলামে দেখানো

  2. MySQL-এ তারিখ অনুযায়ী গ্রুপ করে ডুপ্লিকেট মান গণনা করা

  3. MySQL-এ GROUP BY ও COUNT একসাথে ব্যবহার করে ডুপ্লিকেট গ্রুপ করেই ম্যাক্স মান বের করা

  4. DB2-এ COUNT ফাংশন ও GROUP BY ব্যবহার করে ট্রানজ্যাকশন প্রতি অর্ডার সংখ্যা বের করা