MySQL-এ কোনো শর্ত পূরণ না করা রেকর্ডের গণনা শূন্য (০) হিসেবে দেখাতে SUM() ফাংশন বুলিয়ান এক্সপ্রেশনের সাথে ব্যবহার করা যায়। MySQL-এ TRUE = 1 এবং FALSE = 0 হলে, শর্ত সত্য হলে ১ যোগ হয়, মিথ্যা হলে ০।
উদাহরণ
১. টেবিল তৈরি করুন
mysql> CREATE TABLE DemoTable (
-> Status VARCHAR(20)
-> );
২. ডেটা ইনসার্ট করুন (শুধু 'active')
mysql> INSERT INTO DemoTable VALUES('active');
mysql> INSERT INTO DemoTable VALUES('active');
mysql> INSERT INTO DemoTable VALUES('active');
mysql> INSERT INTO DemoTable VALUES('active');
৩. সব রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable;
আউটপুট:
+--------+
| Status |
+--------+
| active |
| active |
| active |
| active |
+--------+
৪. 'active' এবং 'inactive' সংখ্যা গণনা করুন
mysql> SELECT
-> SUM(Status = 'active') AS 'CountOfActive',
-> SUM(Status = 'inactive') AS 'CountOfInActive'
-> FROM DemoTable;
৫. ফলাফল
+---------------+-----------------+
| CountOfActive | CountOfInActive |
+---------------+-----------------+
| 4 | 0 |
+---------------+-----------------+
ব্যাখ্যা: টেবিলে 'inactive' স্ট্যাটাস কোনো রেকর্ড নেই, তবুও SUM(Status = 'inactive') সঠিকভাবে ০ দেখিয়েছে। এই পদ্ধতিতে CASE WHEN বা IF() লিখার প্রয়োজন নেই। শর্ত সত্য হলে ১, মিথ্যা হলে ০ রিটার্ন করে, যা SUM-এ যোগ হয়।