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

MySQL-এ একই ID-এর সারি মার্জ করে সর্বোচ্চ মান দেখানো

একই ID-এর একাধিক সারি থাকলে GROUP BY এবং MAX() এগريغেট ফাংশন ব্যবহার করে সারিগুলো একত্রিত করা এবং প্রতিটি কলামের সর্বোচ্চ মান প্রদর্শন করা যায়।

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

mysql> CREATE TABLE DemoTable (
    Id INT,
    Value1 INT, Value2 INT, Value3 INT, Value4 INT
);

mysql> INSERT INTO DemoTable (Id, Value4) VALUES (100, 30);
mysql> INSERT INTO DemoTable (Id, Value1, Value2, Value3) VALUES (100, 20, 60, 40);
mysql> INSERT INTO DemoTable (Id, Value2, Value3, Value4) VALUES (100, 90, 100, 110);

সারি মার্জ করার কোয়েরি

mysql> SELECT Id,
       MAX(Value1) AS Value1,
       MAX(Value2) AS Value2,
       MAX(Value3) AS Value3,
       MAX(Value4) AS Value4
       FROM DemoTable
       GROUP BY Id;

ফলাফল:

+------+--------+--------+--------+--------+
| Id   | Value1 | Value2 | Value3 | Value4 |
+------+--------+--------+--------+--------+
|  100 |     20 |     90 |    100 |    110 |
+------+--------+--------+--------+--------+

ব্যাখ্যা: একই Id=100 এর তিনটি সারি ছিল, যাদের কলামগুলোতে NULL ও রয়েছে। GROUP BY Id দিয়ে এক সারি করা হয়েছে এবং MAX() দিয়ে প্রতিটি কলামের সর্বোচ্চ নন-নাল মান নেওয়া হয়েছে।

  1. MySQL-এ SELECT NULL WHERE FALSE ব্যবহার করে কোনো রো ও কলাম না দেখানো

  2. MySQL-এ LEFT() ফাংশন দিয়ে বাম পাশ থেকে ১৫ ক্যারেক্টার বের করা

  3. MySQL-এ নির্দিষ্ট কলাম থেকে শুধু 'NO' মান সংখ্যা বের করা

  4. MySQL-এ GROUP_CONCAT() এবং SUM() দিয়ে একাধিক সারির স্ট্রিং কম্বাইন এবং আইডি যোগফল করা