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

MySQL-এ একই IDवाले রোların Price যোগফল বের করা (SUM with GROUP BY)

MySQL-এ SUM() এগ্রিগেট ফাংশন এবং GROUP BY ব্যবহার করে একই IDवाले রোların Price যোগফল বের করা যায়।

উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> create table DemoTable850( 
    Id int, 
    Price int 
); 
Query OK, 0 rows affected (0.54 sec)
mysql> insert into DemoTable850 values(1,90); 
Query OK, 1 row affected (0.15 sec) 
mysql> insert into DemoTable850 values(2,100); 
Query OK, 1 row affected (0.55 sec) 
mysql> insert into DemoTable850 values(2,50); 
Query OK, 1 row affected (0.11 sec) 
mysql> insert into DemoTable850 values(1,80); 
Query OK, 1 row affected (0.13 sec) 
mysql> insert into DemoTable850 values(1,60); 
Query OK, 1 row affected (0.10 sec)

সকল রেকর্ড দেখানো

mysql> select * from DemoTable850;
+------+-------+
| Id   | Price |
+------+-------+
| 1    | 90    |
| 2    | 100   |
| 2    | 50    |
| 1    | 80    |
| 1    | 60    |
+------+-------+
5 rows in set (0.00 sec)

Id=1 वाले রোların Price যোগফল

mysql> select Id, SUM(Price) from DemoTable850 where Id=1;
+------+------------+
| Id   | SUM(Price) |
+------+------------+
| 1    | 230        |
+------+------------+
1 row in set (0.00 sec)

সব Id-এর জন্য যোগফল (GROUP BY)

mysql> select Id, SUM(Price) as TotalPrice from DemoTable850 group by Id;
+------+------------+
| Id   | TotalPrice |
+------+------------+
| 1    | 230        |
| 2    | 150        |
+------+------------+
2 rows in set (0.00 sec)

HAVING দিয়ে ফিল্টার (যেমন যোগফল > ২০০)

mysql> select Id, SUM(Price) as TotalPrice from DemoTable850 group by Id having SUM(Price) > 200;
+------+------------+
| Id   | TotalPrice |
+------+------------+
| 1    | 230        |
+------+------------+
1 row in set (0.00 sec)

মূল পয়েন্ট

  • GROUP BY Id - একই Idवाले রোগুলো গোষ্ঠীভুক্ত করে
  • SUM(Price) - প্রতিটি গোষ্ঠীর Price যোগফল
  • WHERE - গ্রুপিং-এর আগে ফিল্টার (Id=1)
  • HAVING - গ্রুপিং-এর পরে ফিল্টার (SUM > 200)

টিপ: COUNT(*), AVG(Price), MIN(Price), MAX(Price) ইত্যাদি এগ্রিগেট ফাংশনও একসাথে ব্যবহার করা যায়।

  1. MySQL-এ GROUP BY ও ORDER BY ব্যবহার করে যোগফল বের করে সর্ট করা

  2. MySQL에서 중복 이름의 점수 합계 구하기 (GROUP BY SUM)

  3. MySQL-এ IF ফাংশন ব্যবহার করে পজিটিভ মানের জন্য TRUE ফেরত দেওয়া

  4. MySQL-এ GROUP BY HAVING ব্যবহার করে একই ID 가진 রোদের SUM করা