使用sql语言查询选修了课程的学生人数
时间: 2023-05-19 17:06:09 浏览: 199
可以使用以下 SQL 语句查询选修了课程的学生人数:
SELECT COUNT(DISTINCT student_id) FROM course_selection WHERE course_id = '选修课程的ID';
其中,'选修课程的ID' 需要替换为实际选修课程的 ID。
相关问题
sql语言实现统计每门课程的学生选修人数(超过10人的课程才统计),要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列
好的,以下是 SQL 语句实现:
```sql
SELECT course_id, COUNT(*) AS num
FROM course_selection
GROUP BY course_id
HAVING num > 10
ORDER BY num DESC, course_id ASC;
```
解释一下:
- `course_selection` 表是选课表,包含学生选修课程的记录,其中 `course_id` 表示课程编号。
- `COUNT(*)` 用于统计每门课程的选修人数。
- `HAVING num > 10` 用于筛选出选修人数超过 10 人的课程。
- `ORDER BY num DESC, course_id ASC` 表示按照选修人数降序排列,若人数相同则按课程号升序排列。
使用SQL语言编写自定义函数或过程: 1、根据课程号查询某门课程的选修最低成绩,设置输入参数。 2、根据课程号查询某门课程的选修平均成绩,设置输入参数。 3、查询选修某门课程的总人数,设置输入参数
好的,下面是使用SQL语言编写自定义函数或过程的示例代码:
1、根据课程号查询某门课程的选修最低成绩,设置输入参数。
```
CREATE FUNCTION get_course_min_grade(course_id INT) RETURNS INT
BEGIN
DECLARE min_grade INT;
SELECT MIN(grade) INTO min_grade FROM course WHERE course_id = course_id;
RETURN min_grade;
END;
```
这个函数名为get_course_min_grade,接受一个整数类型的参数course_id作为输入,返回一个整数类型的最小成绩。函数体部分使用了DECLARE语句声明了一个整数类型的变量min_grade,使用SELECT INTO语句将查询结果赋值给min_grade变量,最后使用RETURN语句返回min_grade变量的值。
2、根据课程号查询某门课程的选修平均成绩,设置输入参数。
```
CREATE FUNCTION get_course_avg_grade(course_id INT) RETURNS FLOAT
BEGIN
DECLARE avg_grade FLOAT;
SELECT AVG(grade) INTO avg_grade FROM course WHERE course_id = course_id;
RETURN avg_grade;
END;
```
这个函数名为get_course_avg_grade,接受一个整数类型的参数course_id作为输入,返回一个浮点数类型的平均成绩。函数体部分使用了DECLARE语句声明了一个浮点数类型的变量avg_grade,使用SELECT INTO语句将查询结果赋值给avg_grade变量,最后使用RETURN语句返回avg_grade变量的值。
3、查询选修某门课程的总人数,设置输入参数。
```
CREATE FUNCTION get_course_student_count(course_id INT) RETURNS INT
BEGIN
DECLARE student_count INT;
SELECT COUNT(*) INTO student_count FROM course WHERE course_id = course_id;
RETURN student_count;
END;
```
这个函数名为get_course_student_count,接受一个整数类型的参数course_id作为输入,返回一个整数类型的选修该门课程的学生总数。函数体部分使用了DECLARE语句声明了一个整数类型的变量student_count,使用SELECT INTO语句将查询结果赋值给student_count变量,最后使用RETURN语句返回student_count变量的值。
以上是使用SQL语言编写自定义函数或过程的示例代码,可以根据实际情况进行修改和调整。
阅读全文