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

MySQL-এ IF() ফাংশন ব্যবহার করে নন-জিরো/নন-NULL কলাম গণনা করা

MySQL-এ প্রতিটি রোয়ের জন্য নির্দিষ্ট কলামগুলো শূন্য বা NULL নয় কিনা চেক করে গণনা করতে IF() ফাংশন ব্যবহার করা হয়।

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

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Number1 INT,
    -> Number2 INT
    -> );
Query OK, 0 rows affected (1.15 sec)
mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(10, 20);
mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(0, 32);
mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(40, 0);
mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(40, 50);

সব রেকর্ড দেখানো

mysql> SELECT * FROM DemoTable;

আউটপুট

+----+---------+---------+
| Id | Number1 | Number2 |
+----+---------+---------+
| 1  | 10      | 20      |
| 2  | 0       | 32      |
| 3  | 40      | 0       |
| 4  | 40      | 50      |
+----+---------+---------+
4 rows in set (0.00 sec)

নন-জিরো কলাম গণনা (IF() ব্যবহার)

mysql> SELECT *, 
    -> IF(Number1 <> 0, 1, 0) + IF(Number2 <> 0, 1, 0) AS TotalCount
    -> FROM DemoTable;

আউটপুট

+----+---------+---------+------------+
| Id | Number1 | Number2 | TotalCount |
+----+---------+---------+------------+
| 1  | 10      | 20      | 2          |
| 2  | 0       | 32      | 1          |
| 3  | 40      | 0       | 1          |
| 4  | 40      | 50      | 2          |
+----+---------+---------+------------+
4 rows in set (0.00 sec)

ব্যাখ্যা: IF(condition, true_val, false_val) — শর্ত সত্য হলে true_val, মিথ্যা হলে false_val রিটার্ন করে। এখানে Number1 <> 0 সত্য হলে ১, মিথ্যা হলে ০। দুটি কলামের ফলাফল যোগ করে TotalCount পাওয়া গেলো।

NULL হ্যান্ডলিং: Number1 <> 0 যদি Number1 NULL হয়, তবে ফলাফল NULL (যা IF-এ false হিসেবে বিবেচিত হয়)। স্পষ্ট NULL চেক: IF(Number1 IS NOT NULL AND Number1 <> 0, 1, 0)।

বিকল্প (MySQL 8.0+): (Number1 <> 0) + (Number2 <> 0) — বুলিয়ান TRUE=১, FALSE=০ সরাসরি যোগ করা যায়।

  1. MySQL-এ LEAST() ফাংশন ব্যবহার করে একাধিক কলাম থেকে ন্যূনতম মান বের করা

  2. Java-এ JDBC ResultSetMetaData ব্যবহার করে MySQL টেবিলের কলাম সংখ্যা বের করা

  3. MySQL-এ GREATEST() এবং LEAST() ব্যবহার করে দুটি কলামের জোড়ার আবার্তন গণনা

  4. MySQL-এ নির্দিষ্ট মান 가진 কলামের সংখ্যা গণনা করা