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

MySQL-এ UNION ALL দিয়ে একাধিক টেবিলের কলাম সাম করা


UNION ALL দিয়ে মাল্টি-টেবিল সাম

একই কাঠামোর একাধিক টেবিলের একটি কলামের মোট সাম করতে UNION ALL দিয়ে সব রো কম্বাইন করে SUM() নিন। UNION (ডুপ্লিকেট রিমুভ) ব্যবহার করলে ফলাফল ভুল হতে পারে।

সিনট্যাক্স

SELECT SUM(tbl.col) AS TotalPrice
FROM (
    SELECT col FROM table1
    UNION ALL
    SELECT col FROM table2
) tbl;

উদাহরণ

Products1 টেবিল

mysql> create table Products1 (
    -> ProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ProductName varchar(20),
    -> ProductPrice int
    -> );
Query OK, 0 rows affected (0.50 sec)

mysql> insert into Products1(ProductName,ProductPrice) values('Product-1',100);
Query OK, 1 row affected (0.22 sec)
mysql> insert into Products1(ProductName,ProductPrice) values('Product-2',200);
Query OK, 1 row affected (0.34 sec)
mysql> insert into Products1(ProductName,ProductPrice) values('Product-3',700);
Query OK, 1 row affected (0.15 sec)

Products2 টেবিল

mysql> create table Products2 (
    -> ProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ProductName varchar(20),
    -> ProductPrice int
    -> );
Query OK, 0 rows affected (0.63 sec)

mysql> insert into Products2(ProductName,ProductPrice) values('Product-1',500);
Query OK, 1 row affected (0.24 sec)
mysql> insert into Products2(ProductName,ProductPrice) values('Product-4',100);
Query OK, 1 row affected (0.13 sec)
mysql> insert into Products2(ProductName,ProductPrice) values('Product-5',400);
Query OK, 1 row affected (0.10 sec)

দুই টেবিলের ProductPrice সাম

mysql> SELECT SUM(tbl.ProductPrice) AS TotalPrice
    -> FROM (SELECT ProductPrice FROM Products1
    -> UNION ALL
    -> SELECT ProductPrice FROM Products2) tbl;

আউটপুট

+------------+
| TotalPrice |
+------------+
|       2000 |
+------------+

গণনা: ১০০+২০০+৭০০ + ৫০০+১০০+৪০০ = ২০০০। UNION ALL ডুপ্লিকেট রাখে (Product-1 দুবার আছে), যা সঠিক ফলাফল দেয়।

  1. MySQL-এ একক কোয়ারীতে একাধিক কলাম আপডেট করা (REPLACE)

  2. MySQL-এ একাধিক কলাম অনুযায়ী সার্ট করা

  3. MySQL-এ একাধিক টেবিলের রো কাউন্ট একসাথে পাওয়া

  4. MySQL-এ একক কোয়ারিতে একাধিক কলামের টাইপ পরিবর্তন করা