Mysql创建一个自定义函数,实现计算全体学生某门功课的平均成绩的功能
时间: 2024-02-11 10:05:20 浏览: 82
计算学生总成绩与平均分
5星 · 资源好评率100%
好的,下面是实现该功能的Mysql自定义函数的代码:
```sql
CREATE FUNCTION get_avg_score(course_name VARCHAR(20))
RETURNS FLOAT
BEGIN
DECLARE total_score FLOAT;
DECLARE student_count INT;
SELECT SUM(score), COUNT(*) INTO total_score, student_count FROM score WHERE course = course_name;
IF student_count = 0 THEN
RETURN 0;
ELSE
RETURN total_score / student_count;
END IF;
END;
```
这个自定义函数接受一个参数`course_name`表示要计算平均成绩的课程名称,返回该课程所有学生的平均成绩。函数中使用`SELECT`语句查询该课程所有学生成绩总和和学生数量,然后根据公式计算平均成绩并返回。如果没有学生选修该门课程,则返回0。
阅读全文