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

MySQL-এ GROUP BY এবং DATE() ব্যবহার করে একই দিনের রেকর্ডের ভ্যালু যোগ করা (SUM)

MySQL-এ একই তারিখের (দিনের) রেকর্ডগুলো গ্রুপ করে কোনো নামারিক কলামের যোগফল (SUM) বের করতে GROUP BY DATE(datetime_column) ব্যবহার করা হয়।

টেবিল ও ডেটা তৈরি

mysql> create table DemoTable1358 ( PurchaseDate datetime, ProductPrice int );
mysql> insert into DemoTable1358 values
('2019-09-20 12:34:00', 450),
('2019-09-21 11:00:00', 1050),
('2018-09-21 02:10:00', 2050),
('2019-09-21 05:20:40', 5050),
('2016-09-21 04:10:56', 1000);

সব রেকর্ড

mysql> select * from DemoTable1358;
+---------------------+--------------+
| PurchaseDate        | ProductPrice |
+---------------------+--------------+
| 2019-09-20 12:34:00 | 450          |
| 2019-09-21 11:00:00 | 1050         |
| 2018-09-21 02:10:00 | 2050         |
| 2019-09-21 05:20:40 | 5050         |
| 2016-09-21 04:10:56 | 1000         |
+---------------------+--------------+

দিন অনুযায়ী গ্রুপ করে SUM

mysql> select PurchaseDate, sum(ProductPrice) from DemoTable1358 group by date(PurchaseDate);
+---------------------+-------------------+
| PurchaseDate        | sum(ProductPrice) |
+---------------------+-------------------+
| 2019-09-20 12:34:00 | 450               |
| 2019-09-21 11:00:00 | 6100              |
| 2018-09-21 02:10:00 | 2050              |
| 2016-09-21 04:10:56 | 1000              |
+---------------------+-------------------+

ব্যাখ্যা: DATE(PurchaseDate) ডেটাইম থেকে শুধু তারিখ অংশ বের করে। ২০১৯-০৯-২১ তারিখে দুটি রেকর্ড আছে (১০৫০ + ৫০৫০ = ৬১০০)। GROUP BY একই তারিখের রোগুলো একসাথে গ্রুপ করে।

  1. MySQL-এ MONTH() এবং SUM() ব্যবহার করে বর্তমান মাসের টোটাল অ্যামাউন্ট বের করা

  2. MySQL-এ একাধিক টেবিল থেকে ডেটা নিয়ে একটি টেবিলে ইনসার্ট করা (CROSS JOIN)

  3. MySQL-এ GROUP BY এবং MAX() দিয়ে একই নামের ছাত্রদের সর্বোচ্চ বয়স বের করা

  4. MySQL-এ ৫টি টেবিল থেকে 'UP' কলামের যোগফল বের করা