在 MySQL 中求和對應重複記錄


讓我們先建立一個表 -

mysql> create table DemoTable
   -> (
   -> StudentName varchar(20),
   -> StudentMarks int
   -> );
Query OK, 0 rows affected (0.68 sec)

使用 insert 命令在表中插入一些記錄 -

mysql> insert into DemoTable values('Chris',50);
Query OK, 1 row affected (0.61 sec)
mysql> insert into DemoTable values('David',70);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values('Chris',80);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('David',90);
Query OK, 1 row affected (0.24 sec)

使用 select 語句顯示錶中的所有記錄 -

mysql> select * from DemoTable;

這將產生以下輸出 -

+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| Chris       |           50 |
| David       |           70 |
| Chris       |           80 |
| David       |           90 |
+-------------+--------------+
4 rows in set (0.00 sec)

這是對重複記錄求和的查詢,即學生的成績 -

mysql> select StudentName,sum(StudentMarks) from DemoTable group by StudentName;

這將產生以下輸出 -

+-------------+-------------------+
| StudentName | sum(StudentMarks) |
+-------------+-------------------+
| Chris       |               130 |
| David       |               160 |
+-------------+-------------------+
2 rows in set (0.00 sec)

更新於: 26-2-2020

532 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始學習
廣告