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

MySQL-এ একাধিক কলাম থেকে NULL হ্যান্ডলিং করে সর্বোচ্চ মান বের করা

MySQL-এ একাধিক কলাম থেকে সর্বোচ্চ মান বের করার সময় NULL ভ্যালু হ্যান্ডল করতে COALESCE() এবং GREATEST() ফাংশন কম্বাইন করে ব্যবহার করা হয়।

টেবিল এবং ডেটা

CREATE TABLE DemoTable (
    Value1 INT,
    Value2 INT,
    Value3 INT
);

INSERT INTO DemoTable VALUES(NULL, 80, 76);
INSERT INTO DemoTable VALUES(NULL, NULL, 100);
INSERT INTO DemoTable VALUES(56, NULL, 45);
INSERT INTO DemoTable VALUES(56, 120, 90);

কুয়েরি

SELECT GREATEST(
    COALESCE(Value1, 0),
    COALESCE(Value2, 0),
    COALESCE(Value3, 0)
) FROM DemoTable;

ফলাফল

+--------------------------------------------------------------------+
| greatest(coalesce(Value1,0),coalesce(Value2,0),coalesce(Value3,0)) |
+--------------------------------------------------------------------+
| 80                                                                 |
| 100                                                                |
| 56                                                                 |
| 120                                                                |
+--------------------------------------------------------------------+

ফাংশন ব্যাখ্যা

  • COALESCE(val, 0) — NULL হলে ০ রিটার্ন করে, নন-নাল হলে নিজের মান
  • GREATEST(v1, v2, v3) — আর্গুমেন্টগুলোর মধ্যে সর্বোচ্চ মান রিটার্ন করে
  • NULL কে ০ ধরে নেওয়া হয়েছে; নেগেটিভ ভ্যালু থাকলে ০ এর পরিবর্তে নেগেটিভ ইনফিনিটি বা নেগেটিভ বড় সংখ্যা ব্যবহার করুন

সতর্কতা

সকল মান NULL হলে GREATEST NULL রিটার্ন করে। COALESCE দিয়ে ডিফল্ট দিয়ে এড়ানো যায়।

  1. MySQL-এ NULL এবং NON-NULL মান সহ গাণিতিক গণনা করা

  2. MySQL-এ তিনটি কলাম থেকে আলাদা মান বের করে একই কলামে প্রদর্শন করা

  3. MySQL-এ দুটি টেবিলের সর্বোচ্চ মানের মধ্যস্থ ন্যূনতম মান বের করা (UNION)

  4. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기