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

MySQL-এ তিনটির অধিক বুলিয়ান কলাম TRUE হলে রো গণনা করা

MySQL-এ বুলিয়ান কলামগুলো আসলে ১ (TRUE) এবং ০ (FALSE) হিসেবে সংরক্ষিত হয়। একাধিক বুলিয়ান কলামের যোগফল নিয়ে শর্ত দেওয়া যায়।

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

mysql> CREATE TABLE DemoTable (
    -> IsMarried BOOLEAN,
    -> IsActive BOOLEAN,
    -> IsMember BOOLEAN,
    -> IsOn BOOLEAN
    -> );
Query OK, 0 rows affected (0.61 sec)
mysql> INSERT INTO DemoTable VALUES(TRUE, FALSE, TRUE, FALSE);
mysql> INSERT INTO DemoTable VALUES(FALSE, FALSE, FALSE, FALSE);
mysql> INSERT INTO DemoTable VALUES(TRUE, TRUE, TRUE, TRUE);
mysql> INSERT INTO DemoTable VALUES(TRUE, FALSE, FALSE, TRUE);

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

mysql> SELECT * FROM DemoTable;

আউটপুট

+-----------+----------+-----------+------+
| IsMarried | IsActive | IsMember  | IsOn |
+-----------+----------+-----------+------+
| 1         | 0        | 1         | 0    |
| 0         | 0        | 0         | 0    |
| 1         | 1        | 1         | 1    |
| 1         | 0        | 0         | 1    |
+-----------+----------+-----------+------+
4 rows in set (0.00 sec)

৩ বা ততোধিক TRUE মান থাকা রো বের করা

mysql> SELECT * FROM DemoTable WHERE IsMarried + IsActive + IsMember + IsOn >= 3;

আউটপুট

+-----------+----------+-----------+------+
| IsMarried | IsActive | IsMember  | IsOn |
+-----------+----------+-----------+------+
| 1         | 1        | 1         | 1    |
+-----------+----------+-----------+------+
1 row in set (0.00 sec)

ব্যাখ্যা: MySQL-এ TRUE = 1, FALSE = 0। চারটি কলামের যোগফল ৩ বা তার বেশি হলে মানে কমপক্ষে ৩টি কলাম TRUE। এই কোয়েরি শুধু ৪था রো (সকল TRUE) রিটার্ন করে।

নোট: যদি কলামগুলো TINYINT(1) না হয়ে ভিন্ন টাইপ হয়, তবে CAST(col AS UNSIGNED) ব্যবহার করতে হয়।

  1. MySQL-এ নির্দিষ্ট সংখ্যা থেকে বড় এবং ছোট মানের আওতা আলাদা কলামে প্রদর্শন করা

  2. MySQL-এ ১৪ দিনের চেয়ে সাম্প্রতিক তারিখ বের করা

  3. MySQL-এ GROUP BY HAVING COUNT(*) ব্যবহার করে ডুপ্লিকেট মান খুঁজুন

  4. MySQL-এ দুটি কলামের মোট মান গণনা করা (NULL বাদ দিয়ে)