SQL 求两张表平均的题

现有学生表和成绩表 学生表(t_student)有学生id(id),学生姓名(name),性别字段(sex) 成绩表(t_score)有成绩id(id),学生id(student_id),学科id(item_id)和成绩字段(score)。 请通过sql查找出每个学生所有学科的平均分和最高分和最低分


12345678_0001
浏览 856回答 1
1回答

人到中年有点甜

建2张表:student 学生表:CREATE TABLE student (id int(11) unsigned NOT NULL AUTO_INCREMENT,name varchar(255) NOT NULL,sex tinyint(3) NOT NULL DEFAULT '0',PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;id name sex1 aaa 02 bbb 03 ccc 14 ddd 15 eee 0score 分数表:CREATE TABLE student (id int(11) unsigned NOT NULL AUTO_INCREMENT,name varchar(255) NOT NULL,sex tinyint(3) NOT NULL DEFAULT '0',PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;id s_id item_id score1 1 1 562 1 2 523 1 3 294 2 1 525 2 2 616 2 3 627 3 1 638 3 2 749 3 3 5210 4 1 8311 4 2 6212 4 3 9313 5 1 4214 5 2 5225 5 3 83sql语句:每个学生所有学科的总分,平均分,最高,最低。SELECT SUM(score), AVG(score),MAX(score),MIN(score) ,s.s_id ,u.namefrom score s LEFT JOIN student uON s.s_id = u.idgroup by s.s_id;每个学科的总分,平均分,最高,最低。SELECT SUM(score), AVG(score),MAX(score),MIN(score) ,s.item_id from score s group by s.item_id;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL