একই নামের একাধিক রো থাকলে 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) দেখাবে।