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

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


টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> create table DemoTable1889 ( DueDate date, Amount int ); Query OK, 0 rows affected (0.00 sec)
mysql> insert into DemoTable1889 values('2019-12-11',500); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1889 values('2019-11-11',1000); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1889 values('2018-12-04',700); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1889 values('2017-12-10',300); Query OK, 1 row affected (0.00 sec)

সব রেকর্ড

mysql> select * from DemoTable1889;
+------------+--------+
| DueDate    | Amount |
+------------+--------+
| 2019-12-11 |    500 |
| 2019-11-11 |   1000 |
| 2018-12-04 |    700 |
| 2017-12-10 |    300 |
+------------+--------+
4 rows in set (0.00 sec)

বর্তমান মাস (ডিসেম্বর ২০১৯) এর টোটাল

mysql> select sum(Amount) from DemoTable1889 where MONTH(DueDate)=MONTH(curdate());
+-------------+
| sum(Amount) |
+-------------+
|        1500 |
+-------------+
1 row in set (0.00 sec)

দ্রষ্টব্য: MONTH(DueDate)=MONTH(CURDATE()) শুধু মাস মিলিয়ে, বছর নয়। ২০১৮-১২-০৪ ও ২০১৭-১২-১০ ও ডিসেম্বর হওয়ায় সেগুলোও যোগ হয়েছে (৭০০+৩০০+৫০০=১৫০০)। বছরের ফিল্টারও লাগালে: WHERE MONTH(DueDate)=MONTH(CURDATE()) AND YEAR(DueDate)=YEAR(CURDATE())। পারফরম্যান্সের জন্য ডেট রেঞ্জ ব্যবহার করুন।

  1. MySQL-এ EXTRACT() দিয়ে মাস অনুযায়ী মান যোগফল করা

  2. MySQL-এ কারেন্ট ডেটের দিন ও মাস দিয়ে ডেট রেকর্ড ফিল্টার করা

  3. MySQL-এ মাস অনুযায়ী রেকর্ড সিলেক্ট করা (MONTH() ফাংশন)

  4. MySQL에서 중복 이름의 점수 합계 구하기 (GROUP BY SUM)