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

MySQL-এ GROUP BY ব্যবহার করে ডুপ্লিকেট রেকর্ডের কলাম যোগফল বের করা

একই নামের একাধিক রো থাকলে GROUP BY এবং SUM() ব্যবহার করে তাদের স্কোর বা মান একত্রিত করা যায়।

টেবিল তৈরি ও ডেটা ইনসার্ট

mysql> create table DemoTable(
    Name varchar(100),
    Score int
);
Query OK, 0 rows affected (0.70 sec)
mysql> insert into DemoTable values('Adam', 50);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Bob', 80);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('Adam', 70);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Adam', 10);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('Carol', 98);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Bob', 10);
Query OK, 1 row affected (0.08 sec)

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

mysql> select * from DemoTable;

আউটপুট:

+-------+-------+
| Name  | Score |
+-------+-------+
| Adam  | 50    |
| Bob   | 80    |
| Adam  | 70    |
| Adam  | 10    |
| Carol | 98    |
| Bob   | 10    |
+-------+-------+
6 rows in set (0.00 sec)

নাম অনুযায়ী গ্রুপ করে স্কোর যোগফল

mysql> select Name, SUM(Score) from DemoTable group by Name;

ফলাফল:

+-------+------------+
| Name  | sum(Score) |
+-------+------------+
| Adam  | 130        |
| Bob   | 90         |
| Carol | 98         |
+-------+------------+
3 rows in set (0.00 sec)

অতিরিক্ত ফিল্টারিং: HAVING

যোগফল নির্দিষ্ট মানের বেশি হলে ফিল্টার করতে HAVING ব্যবহার করুন:

SELECT Name, SUM(Score) AS Total 
FROM DemoTable 
GROUP BY Name 
HAVING Total > 100;

এটি শুধু Adam (130) দেখাবে।

  1. MySQL-এ WHERE শর্ত সহ SUM() ব্যবহার করে নির্দিষ্ট সেলগুলোর যোগফল বের করা

  2. MySQL-এ দুটি তারিখের মধ্যে থাকা রেকর্ডের যোগফল বের করা

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

  4. MySQL-এ DAYNAME() ফাংশন দিয়ে তারিখ থেকে দিনের নাম বের করা