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

MySQL-এ UNION এবং MAX()/MIN() ব্যবহার করে দুটি টেবিল থেকে সর্বোচ্চ ও ন্যূনতম মান বের করা


দুটি টেবিলের ডেটা একসাথে বিবেচনা করে সর্বোচ্চ ও ন্যূনতম মান

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

উদাহরণ

দুটি টেবিল তৈরি:

CREATE TABLE DemoTable1 (UniqueId INT AUTO_INCREMENT PRIMARY KEY, Score1 INT);
INSERT INTO DemoTable1 (Score1) VALUES (56), (76), (65);

CREATE TABLE DemoTable2 (UniqueId INT AUTO_INCREMENT PRIMARY KEY, Score2 INT);
INSERT INTO DemoTable2 (Score2) VALUES (67), (94), (98);

UNION ব্যবহার করে সমন্বিত কোয়ারি

SELECT 
    MAX(commonValue) AS Highest_Value, 
    MIN(commonValue) AS Lowest_Value 
FROM (
    SELECT Score1 AS commonValue FROM DemoTable1
    UNION
    SELECT Score2 AS commonValue FROM DemoTable2
) AS tbl;

আউটপুট:

+---------------+--------------+
| Highest_Value | Lowest_Value |
+---------------+--------------+
| 98            | 56           |
+---------------+--------------+

ব্যাখ্যা

  • UNION ডুপ্লিকেট সরিয়ে ইউনিক মানগুলো একত্রিত করে। UNION ALL ব্যবহার করলে ডুপ্লিকেট থাকে।
  • সাবকোয়ারির আউটপুটকে tbl এলিয়াস দিয়ে ডেরাইভড টেবিল হিসেবে ব্যবহার করা হয়েছে।
  • MAX() এবং MIN() একসাথে কাজ করে।

বিকল্প: JOIN ব্যবহার (যদি রিলেশন থাকে)

যদি টেবিলগুলো রিলেটেড থাকে, তবে JOIN ব্যবহার করেও করা যায়, কিন্তু আলাদা টেবিলের জন্য UNION সহজ।

  1. MySQL-এ একক SELECT কোয়েরিতে দুটি টেবিল থেকে ডেটা ফেচ করা

  2. MySQL-এ GREATEST() এবং LEAST() ব্যবহার করে দুটি কলামের জোড়ার আবার্তন গণনা

  3. MySQL-এ UNION ALL এবং INSERT INTO SELECT ব্যবহার করে একক কোয়েরিতে দুটি টেবিলে ডেটা ইনসার্ট করুন

  4. MySQL에서 중복 튜플 찾기와 개수 세기 (GROUP BY HAVING)