使用sql语言统计不及格人数超过10的课程号
时间: 2024-05-16 12:15:52 浏览: 16
假设有一个成绩表(score)包含学生学号(student_id)、课程号(course_id)和成绩(score),可以使用如下的SQL语句进行统计:
```
SELECT course_id, COUNT(*) AS num_failed
FROM score
WHERE score < 60
GROUP BY course_id
HAVING COUNT(*) > 10;
```
解释一下上面的SQL语句:
首先使用SELECT语句选择课程号(course_id)和不及格人数(num_failed),其中不及格是指成绩小于60分。
然后使用FROM语句指定要查询的表为成绩表(score)。
接着使用WHERE语句指定只统计不及格的成绩。
使用GROUP BY语句按照课程号(course_id)进行分组统计。
最后使用HAVING语句过滤出不及格人数超过10的课程号。
相关问题
sql 语句 ,查询及格人数最多的课程
你好,以下是我对你的问题的回答:
SELECT course_name, COUNT(*) AS pass_count
FROM student
WHERE score >= 60
GROUP BY course_name
ORDER BY pass_count DESC
LIMIT 1;
这是查询及格人数最多的课程的 SQL 语句。
用SQL语言查询课程号及其相应的选课人数
假设有两个表:课程表(course)和选课表(enrollment),课程表中包含课程号(course_id)和课程名称(course_name),选课表中包含选课编号(enrollment_id),课程号(course_id)和学生编号(student_id)。
查询课程号及其相应的选课人数的SQL语句如下:
SELECT course.course_id, COUNT(enrollment.student_id) AS enrollment_count
FROM course
LEFT JOIN enrollment
ON course.course_id = enrollment.course_id
GROUP BY course.course_id;
解释:
1. 使用SELECT语句选择课程表中的课程号(course_id)和选课表中的学生编号(student_id)。
2. 使用LEFT JOIN语句将课程表和选课表连接起来,连接条件是课程号(course_id)相同。
3. 使用COUNT函数统计选课表中每个课程的选课人数,并将其命名为enrollment_count。
4. 使用GROUP BY语句将结果按照课程号(course_id)分组。
这样就可以查询出每个课程的选课人数了。