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

MySQL-এ SUM() ফাংশন ব্যবহার করে অনুপস্থিত স্ট্যাটাসের জন্য শূন্য মান দেখান

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-এ যোগ হয়।

  1. MySQL-এ ORDER BY DESC এবং LIMIT 1 ব্যবহার করে সর্বোচ্চ ID ওয়ালা রো বের করা

  2. MySQL কোয়েরি AND ও OR অপারেটর ব্যবহার করে একাধিক রো রিকর্ড রিটার্ন করার জন্য

  3. MySQL-এ NULL মানযুক্ত কলামকে গুন করার সমস্যা সমাধান (COALESCE)

  4. MySQL-এ ডুপ্লিকেট কলাম মানवाले গ্রুপ থেকে ন্যূনতম রো বের করা (MIN + GROUP BY)