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

MySQL-এ CASE স্টেটমেন্ট দিয়ে শর্তভিত্তিক SUM এবং SUBTRACTION একসাথে

এই কাজের জন্য CASE স্টেটমেন্ট ব্যবহার করে SUM এবং SUBTRACTION-এর শর্ত নির্ধারণ করুন। প্রথমে একটি টেবিল তৈরি করা যাক:

mysql> create table DemoTable866( 
  Status varchar(100), 
  Amount int ); Query OK, 0 rows affected (0.63 sec)

টেবিলে কিছু রেকর্ড ইনসার্ট করুন:

mysql> insert into DemoTable866 values('ACTIVE',50); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable866 values('INACTIVE',70); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable866 values('INACTIVE',20); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable866 values('ACTIVE',100); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable866 values('ACTIVE',200); Query OK, 1 row affected (0.11 sec)

টেবিলের সকল রেকর্ড দেখান:

mysql> select *from DemoTable866;

এটি নিচের আউটপুট দেবে:

+----------+--------+
| Status   | Amount |
+----------+--------+
| ACTIVE   | 50     |
| INACTIVE | 70     |
| INACTIVE | 20     |
| ACTIVE   | 100    |
| ACTIVE   | 200    |
+----------+--------+
5 rows in set (0.00 sec)

একক MySQL কোয়ারীতে শর্তভিত্তিক SUM বা SUBTRACTION (ACTIVE হলে যোগ, INACTIVE হলে বিয়োগ):

mysql> select sum(CASE WHEN Status = 'ACTIVE' then Amount WHEN Status = 'INACTIVE' then -Amount END) AS RemainingAmount from DemoTable866;

এটি নিচের আউটপুট দেবে (৫০+১০০+২০০ - ৭০ - ২০ = ২৬০):

+-----------------+
| RemainingAmount |
+-----------------+
| 260             |
+-----------------+
1 row in set (0.06 sec)
  1. MySQL-এ একক কুয়েরিতে একাধিক টেবিলের সারি গণনার যোগফল বের করা

  2. MySQL-এ UNION SELECT এবং IN ক্লজ একসাথে ব্যবহার

  3. MySQL-এ GROUP BY ও ORDER BY ব্যবহার করে যোগফল বের করে সর্ট করা

  4. MySQL-এ SUM() এবং FORMAT() কম্বাইন করে ফলাফল ফরম্যাট করা