mysql计算学生总成绩

2023年 8月 5日 78.8k 0

MySQL是一种可靠的关系型数据库管理系统,广泛应用于许多领域,包括学生成绩管理。下面我们将介绍如何使用MySQL计算学生总成绩。

CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `score` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`student_id` int(11) NOT NULL,
`course_name` varchar(255) NOT NULL,
`score` float NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_student_id` (`student_id`),
CONSTRAINT `fk_student_id` FOREIGN KEY (`student_id`) REFERENCES `student` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

mysql计算学生总成绩

上述代码创建了两个表格:student和score。student存储学生信息,score存储学生各门课程的成绩。

INSERT INTO `student` (`name`) VALUES ('小红');
INSERT INTO `student` (`name`) VALUES ('小明');
INSERT INTO `score` (`student_id`, `course_name`, `score`) VALUES (1, '数学', 80);
INSERT INTO `score` (`student_id`, `course_name`, `score`) VALUES (1, '语文', 75);
INSERT INTO `score` (`student_id`, `course_name`, `score`) VALUES (2, '英语', 90);
INSERT INTO `score` (`student_id`, `course_name`, `score`) VALUES (2, '数学', 70);

向student和score表中插入了4条数据,包括两位学生的个人信息和各自的成绩。

SELECT
s.name,
SUM(sc.score) AS total_score
FROM
student s
JOIN score sc ON s.id = sc.student_id
GROUP BY
s.name;

上述代码计算了每位学生的总成绩,并按照学生姓名进行分组。

通过以上代码,我们可以轻松使用MySQL计算学生总成绩,实现学生成绩管理的基本功能。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论