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

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

MySQL-এ দুটি টেবিলের সর্বোচ্চ মান (MAX) বের করে, তারপর সেগুলোর মধ্যস্থ ন্যূনতম মান (MIN) বের করার জন্য UNION এবং সাবকুয়েরি ব্যবহার করা হয়।

টেবিল ১

CREATE TABLE DemoTable1 (Value INT);
INSERT INTO DemoTable1 VALUES(60), (78), (57);

টেবিল ২

CREATE TABLE DemoTable2 (Value INT);
INSERT INTO DemoTable2 VALUES(90), (67);

কুয়েরি

SELECT MIN(tbl.Value) AS Value
FROM (
    SELECT MAX(Value) AS Value FROM DemoTable1
    UNION
    SELECT MAX(Value) AS Value FROM DemoTable2
) AS tbl;

ফলাফল

+-------+
| Value |
+-------+
| 78    |
+-------+

ধাপে ধাপে ব্যাখ্যা

  1. SELECT MAX(Value) FROM DemoTable1 → ৭৮
  2. SELECT MAX(Value) FROM DemoTable2 → ৯০
  3. UNION — ডুপ্লিকেট সরিয়ে একত্রিত: ৭৮, ৯০
  4. MIN(...) — সেগুলোর ন্যূনতম: ৭৮

UNION vs UNION ALL

  • UNION — ডুপ্লিকেট সরিয়ে (স্লোয়ার)
  • UNION ALL — ডুপ্লিকেট সহ (ফাস্টার)
  • এখানে MAX মান ডুপ্লিকেট হলে UNION ALL দিলে MIN একই ফলাফল দেবে

বিকল্প: GREATEST/LEAST (MySQL 8.0+)

SELECT LEAST(
    (SELECT MAX(Value) FROM DemoTable1),
    (SELECT MAX(Value) FROM DemoTable2)
);
  1. MySQL-এ UNION ALL এবং INSERT INTO SELECT ব্যবহার করে একক কোয়েরিতে দুটি টেবিলে ডেটা ইনসার্ট করুন

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

  3. MySQL-এ ডুপ্লিকেট কলাম মানवाले গ্রুপ থেকে ন্যূনতম রো বের করা (MIN + GROUP BY)

  4. MySQL-এ CASE WHEN এবং GROUP_CONCAT ব্যবহার করে শর্তসাপেক্ষে কলাম মান কনক্যাটেনেট করা