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

MySQL-এ কলামের ন্যূনতম মান वाली রো খুঁজে বের করা (MIN + GROUP BY)

MySQL-এ কোনো কলামের ন্যূনতম মান (minimum value) রাখা রো খুঁজে বের করতে MIN() এগরিগেট ফাংশন এবং GROUP BY ব্যবহার করা হয়।

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

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> NumberOfProduct INT
    -> );
mysql> INSERT INTO DemoTable(NumberOfProduct) VALUES(40);
mysql> INSERT INTO DemoTable(NumberOfProduct) VALUES(40);
mysql> INSERT INTO DemoTable(NumberOfProduct) VALUES(60);
mysql> INSERT INTO DemoTable(NumberOfProduct) VALUES(60);

সব রেকর্ড দেখুন

mysql> SELECT * FROM DemoTable;
+----+-----------------+
| Id | NumberOfProduct |
+----+-----------------+
|  1 |              40 |
|  2 |              40 |
|  3 |              60 |
|  4 |              60 |
+----+-----------------+

প্রতিটি NumberOfProduct-এর জন্য ন্যূনতম Id বের করা

mysql> SELECT NumberOfProduct, MIN(Id) 
    -> FROM DemoTable 
    -> GROUP BY NumberOfProduct;

ফলাফল

+-----------------+---------+
| NumberOfProduct | MIN(Id) |
+-----------------+---------+
|              40 |       1 |
|              60 |       3 |
+-----------------+---------+

ব্যাখ্যা:

  • NumberOfProduct = 40 এর জন্য ন্যূনতম Id = 1 (প্রথম রো)
  • NumberOfProduct = 60 এর জন্য ন্যূনতম Id = 3 (তৃতীয় রো)

বিকল্প: পুরো রো পাওয়ার জন্য ( JOIN ব্যবহার)

SELECT d1.* FROM DemoTable d1
JOIN (
    SELECT NumberOfProduct, MIN(Id) AS min_id
    FROM DemoTable
    GROUP BY NumberOfProduct
) d2 ON d1.NumberOfProduct = d2.NumberOfProduct AND d1.Id = d2.min_id;

এটি প্রতিটি গ্রুপের প্রথম (ন্যূনতম Id) রোটি পুরো ফেরত দেবে।

  1. MySQL-এ শর্তসাপেক্ষে কলামের যোগফল (SUM) বের করা

  2. MySQL-এ কলাম মান শাফল করা

  3. MySQL-এ NULL মানযুক্ত কলামকে গুন করার সমস্যা সমাধান (COALESCE)

  4. MySQL AUTO_INCREMENT উদাহরণসহ (MySQL AUTO_INCREMENT with Examples)