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

MySQL-এ একাধিক কলাম থেকে মান ক্যালকুলেট করা


MySQL-এ GROUP BY দিয়ে একাধিক কলামের গুণফলের যোগফল

একই গ্রুপের (যেমন একই প্রোডাক্ট আইডি) জন্য একাধিক কলামের গুণফল (Price × Weight) নিয়ে সারমর্ম বের করতে GROUP BY সাথে এগ্রিগেট ফাংশন ব্যবহার করা হয়।

সিনট্যাক্স

SELECT yourColumnName1, SUM(yourColumnName2 * yourColumnName3) AS anyAliasName
FROM yourTableName
GROUP BY yourColumnName1;

উদাহরণ সহ ব্যাখ্যা

টেবিল তৈরি:

mysql> CREATE TABLE calculateValueDemo (
    -> Id INT,
    -> ProductPrice INT,
    -> ProductWeight INT
    -> );

ডেটা ইনসার্ট:

mysql> INSERT INTO calculateValueDemo VALUES(100, 35, 5);
mysql> INSERT INTO calculateValueDemo VALUES(101, 50, 3);
mysql> INSERT INTO calculateValueDemo VALUES(100, 100, 4);
mysql> INSERT INTO calculateValueDemo VALUES(101, 500, 2);

বর্তমান ডেটা:

mysql> SELECT * FROM calculateValueDemo;
+------+--------------+---------------+
| Id   | ProductPrice | ProductWeight |
+------+--------------+---------------+
| 100  | 35           | 5             |
| 101  | 50           | 3             |
| 100  | 100          | 4             |
| 101  | 500          | 2             |
+------+--------------+---------------+

Id অনুযায়ী মোট ভ্যালু (Price × Weight) বের করি:

mysql> SELECT Id, SUM(ProductPrice * ProductWeight) AS Total
    -> FROM calculateValueDemo
    -> GROUP BY Id;

ফলাফল:

+------+-------+
| Id   | Total |
+------+-------+
| 100  | 575   |
| 101  | 1150  |
+------+-------+

ব্যাখ্যা: Id 100-এর জন্য: (35×5) + (100×4) = 175 + 400 = 575। Id 101-এর জন্য: (50×3) + (500×2) = 150 + 1000 = 1150।

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

  2. MySQL-এ একাধিক কলাম থেকে ন্যূনতম মান বের করা

  3. MySQL-এ GREATEST() দিয়ে দুটি কলামের মধ্যে সর্বোচ্চ মান অনুযায়ী অর্ডার করা

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