从表格中对特定学生的成绩进行分组,并在每个学生的单独列中显示总成绩?


要对成绩进行分组,请使用 MySQL 的 GROUP BY。要进行求和,请使用 MySQL 的 sum() 函数。首先让我们创建一个表格 -

mysql> create table DemoTable1920
   (
   StudentName varchar(20),
   StudentMarks int
   );
Query OK, 0 rows affected (0.00 sec)

使用 insert 命令在表中插入一些记录 -

mysql> insert into DemoTable1920 values('Chris',67);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1920 values('David',97);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1920 values('Chris',57);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1920 values('David',45);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1920 values('Chris',89);
Query OK, 1 row affected (0.00 sec)

使用 select 语句显示表中的所有记录 -

mysql> select * from DemoTable1920;

这将产生以下输出 -

+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| Chris       |           67 |
| David       |           97 |
| Chris       |           57 |
| David       |           45 |
| Chris       |           89 |
+-------------+--------------+
5 rows in set (0.00 sec)

以下是对特定学生成绩进行分组的查询 -

mysql> select StudentName,SUM(StudentMarks) as TotalMarks from DemoTable1920
    group by StudentName;

这将产生以下输出 -

+-------------+------------+
| StudentName | TotalMarks |
+-------------+------------+
| Chris       |        213 |
| David       |        142 |
+-------------+------------+
2 rows in set (0.00 sec)

更新于: 2019-12-30

9K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告