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

MySQL GROUP BY-এ NULL মান আলাদা আলাদা রো হিসেবে রাখা (IFNULL ব্যবহার করে)

NULL ভ্যালুগুলকে গ্রুপে না পড়িয়ে আলাদা রাখা

ডিফল্টলি GROUP BY সকল NULL কে একই গ্রুপে ফেলে। IFNULL(col, unique_val) ব্যবহার করে প্রতিটি NULL কে ইউনিক গ্রুপে রাখা যায়।

উদাহরণ

mysql> CREATE TABLE DemoTable1511 (Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(20));
mysql> INSERT INTO DemoTable1511(FirstName) VALUES ('John'),('Robert'),('Mike'),('Robert'),(NULL),(NULL),('Mike');

সাধারণ GROUP BY (NULL একসাথে)

SELECT MIN(Id), FirstName FROM DemoTable1511 GROUP BY FirstName;
NULL গুলো একসাথে পড়বে।

IFNULL দিয়ে NULL আলাদা রাখা

mysql> SELECT MIN(Id) AS Id, FirstName
    -> FROM DemoTable1511
    -> GROUP BY FirstName, IFNULL(FirstName, Id)
    -> ORDER BY Id;

ফলাফল

+------+-----------+
| Id   | FirstName |
+------+-----------+
|    1 | John      |
|    2 | Robert    |
|    3 | Mike      |
|    5 | NULL      |
|    6 | NULL      |
+------+-----------+

ব্যাখ্যা: IFNULL(FirstName, Id) মানে FirstName NULL হলে Id ব্যবহার করো। যেহেতু Id ইউনিক, তাই প্রতিটি NULL আলাদা গ্রুপে পড়ে।

  1. MySQL-এ GROUP_CONCAT ব্যবহার করে নির্দিষ্ট কলামে ১ থাকা রেকর্ড এক সারিতে আনা

  2. MySQL INSERT-এ ডুপ্লিকেট সারি প্রতিরোধ করা

  3. MySQL-এ একাধিক টেবিল থেকে NOT NULL মান গণনা করা (সিঙ্গেল কোয়েরি)

  4. MySQL-এ IS NULL ব্যবহার করে সিঙ্গেল রোতে NULL ভ্যালু চেক করা