统计每名学生的学号,姓名,选课数,最高分,平均分。数据库
时间: 2024-06-13 20:08:25 浏览: 38
为了统计每名学生的学号,姓名,选课数,最高分,平均分,我们需要使用多个表进行联合查询。假设我们有三个表:Student(学生信息表),Course(课程信息表)和Score(成绩信息表)。其中,Student表包含学生的学号(SNO)和姓名(SNAME)等信息;Course表包含课程的编号(CNO)和名称(CNAME)等信息;Score表包含学生的学号(SNO)、课程的编号(CNO)和成绩(GRADE)等信息。我们可以使用以下SQL语句来实现该功能:
```sql
SELECT Student.SNO, Student.SNAME, COUNT(DISTINCT Score.CNO) AS CourseNum, MAX(Score.GRADE) AS MaxGrade, AVG(Score.GRADE) AS AvgGrade
FROM Student
LEFT JOIN Score ON Student.SNO = Score.SNO
GROUP BY Student.SNO, Student.SNAME;
```
上述SQL语句中,我们使用了LEFT JOIN将Student表和Score表进行联合查询,并使用GROUP BY对结果进行分组。COUNT(DISTINCT Score.CNO)用于统计每个学生选修的课程数,MAX(Score.GRADE)用于求每个学生的最高分,AVG(Score.GRADE)用于求每个学生的平均分。
相关问题
mysql大壮需要了解会计学院每个学生的成绩概况,包括学号、姓名、选课门数、最高分、最低分、总分、平均分,从中选出平均分大于等于85的前三名学生。你毫不犹豫,施以援手,帮助大壮解决了问题
。好的,这个问题需要用到MySQL语言来完成。首先,我们需要连接到会计学院的数据库中。接下来,我们可以使用以下代码来查询每个学生的成绩概况:
SELECT 学号, 姓名, COUNT(选课门数) AS 门数, MAX(最高分) AS 最高分, MIN(最低分) AS 最低分, SUM(总分) AS 总分, AVG(总分) AS 平均分 FROM 成绩表 GROUP BY 学号, 姓名
这个语句会将所有学生的成绩统计出来,并按照学号和姓名进行分组。接下来,我们可以使用以下代码来筛选出平均分大于等于85的前三名学生:
SELECT 学号, 姓名, 平均分 FROM (SELECT 学号, 姓名, AVG(总分) AS 平均分 FROM 成绩表 GROUP BY 学号, 姓名) AS 统计表 WHERE 平均分 >= 85 ORDER BY 平均分 DESC LIMIT 3
这个语句会在前面查询结果的基础上,筛选出平均分大于等于85的学生,并按照平均分从高到低进行排序,最后返回前三名学生的学号、姓名和平均分。
使用mysql语句写出 8, 查询学生表中性别为 “女”、所在城市为“株洲”的学生姓名、出生日期。 9, 查询出生年份在1992年的学生姓名、性别、所在城市。 10. 查询所有学生分布的城市。 11, 查询《数据库应用技术》课程成绩大于等于80,小于等于90的学生学号、姓名。 12, 查询所有学生的选课信息,包括学号、姓名、性别、课程名、成绩。 13、查询《java編程》这门课最高分学生的学号、姓名。 14.统计每个学生的平均分,统计结果包括学号、平均成绩。 15, 查询课程平均分数大于80分的课程名称及课程平均分。 16, 统计每门课程的选课人数,統计结果包括课程名、人数。 17、在学生信息表的姓名列上建立普通索引。 18、查询所有学生学号,姓名,年龄(使用year函数)。 19. 创建视图,包含数据应用技术成績大于80分学生的学号、姓名、出生日期。 20. 删除课程号为03的课程信息。
8. 查询学生表中性别为 “女”、所在城市为“株洲”的学生姓名、出生日期。
```
SELECT name,birthday FROM student WHERE gender='女' AND city='株洲';
```
9. 查询出生年份在1992年的学生姓名、性别、所在城市。
```
SELECT name,gender,city FROM student WHERE YEAR(birthday)=1992;
```
10. 查询所有学生分布的城市。
```
SELECT DISTINCT city FROM student;
```
11. 查询《数据库应用技术》课程成绩大于等于80,小于等于90的学生学号、姓名。
```
SELECT student_id,name FROM score WHERE course_name='数据库应用技术' AND score>=80 AND score<=90;
```
12. 查询所有学生的选课信息,包括学号、姓名、性别、课程名、成绩。
```
SELECT student.student_id,student.name,student.gender,score.course_name,score.score FROM student INNER JOIN score ON student.student_id=score.student_id;
```
13、查询《java編程》这门课最高分学生的学号、姓名。
```
SELECT student_id,name FROM score WHERE course_name='java編程' AND score = (SELECT MAX(score) FROM score WHERE course_name='java編程');
```
14.统计每个学生的平均分,统计结果包括学号、平均成绩。
```
SELECT student_id, AVG(score) AS avg_score FROM score GROUP BY student_id;
```
15.查询课程平均分数大于80分的课程名称及课程平均分。
```
SELECT course_name, AVG(score) AS avg_score FROM score GROUP BY course_name HAVING AVG(score) > 80;
```
16.统计每门课程的选课人数,統计结果包括课程名、人数。
```
SELECT course_name, COUNT(DISTINCT student_id) AS num_of_students FROM score GROUP BY course_name;
```
17.在学生信息表的姓名列上建立普通索引。
```
ALTER TABLE student ADD INDEX name_index(name);
```
18.查询所有学生学号,姓名,年龄(使用year函数)。
```
SELECT student_id,name,YEAR(NOW())-YEAR(birthday) AS age FROM student;
```
19.创建视图,包含数据应用技术成績大于80分学生的学号、姓名、出生日期。
```
CREATE VIEW score_view AS SELECT student.student_id, student.name, student.birthday FROM student INNER JOIN score ON student.student_id=score.student_id WHERE score.course_name='数据库应用技术' AND score.score>80;
SELECT * FROM score_view;
```
20.删除课程号为03的课程信息。
```
DELETE FROM course WHERE course_id='03';
```
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/octet-stream](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)