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)