用sql语句写,一个学生表(包括所有学生),查询成绩大于60分的学生,并统 计每个班级及格人数。
时间: 2024-05-13 14:15:40 浏览: 26
假设学生表为students,包含的字段有:学生姓名(name)、班级(class)、成绩(score)。可以使用如下SQL语句查询成绩大于60分的学生,并统计每个班级及格人数:
```
SELECT class, COUNT(*) as pass_num
FROM students
WHERE score > 60
GROUP BY class;
```
该语句会先筛选出成绩大于60分的学生,然后按照班级进行分组,并统计每个班级及格的学生人数。
相关问题
学生表和学生成绩表,用SQL求没个班级任意一科不及格的人数
假设学生表的表名为"students",学生成绩表的表名为"scores",学生表中的班级信息保存在"classes"字段中,学生成绩表中的科目信息保存在"subjects"字段中,分数信息保存在"scores"字段中。
SQL查询语句如下:
SELECT COUNT(*) FROM students WHERE classes IN
(SELECT classes FROM students GROUP BY classes HAVING COUNT(DISTINCT subjects) != COUNT(DISTINCT CASE WHEN scores < 60 THEN subjects END));
解释如下:
- 内层查询:根据班级分组,计算每个班级中不及格的科目数,如果不及格的科目数等于该班级总科目数,则表示有任意一科不及格的学生,该班级会被查询出来。
- 外层查询:统计所有符合条件的班级中不及格的学生数量,并返回结果。
写出sql语句,从stu表中取出c语言成绩不及格的学生
假设stu表中有以下字段:学生ID(sid)、学生姓名(name)、C语言成绩(score_c)
可以使用如下SQL语句来查询C语言成绩不及格的学生:
```
SELECT sid, name, score_c
FROM stu
WHERE score_c < 60;
```
以上SQL语句将从stu表中选取C语言成绩小于60分的学生,并返回学生ID、姓名和C语言成绩。