Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用Workbench在列(Average)中添加函数_Mysql_Function_Triggers_Average - Fatal编程技术网

Mysql 使用Workbench在列(Average)中添加函数

Mysql 使用Workbench在列(Average)中添加函数,mysql,function,triggers,average,Mysql,Function,Triggers,Average,我不熟悉SQL和MySQL,我正在尝试找到一种方法,在我的一个表中使用另一列的平均输入创建一列 我有一个教授数据库,他们每年教授一门理论课和实践课。每节课他们都会得到分数。现在,我有两张表格,一张是理论课,另一张是实践课,上面有他们多年来的所有成绩 但是我想要一个新的表格,可以有一个教授所获得的所有分数的平均值。我不知道如何告诉程序在教员id值相同的情况下进行平均。(下面有一个图表来理解这个想法) 当我为新类添加新的求值时,我还需要一个触发器来更新我的信息 如果有人能帮助我,我将不胜感激!谢谢!

我不熟悉SQL和MySQL,我正在尝试找到一种方法,在我的一个表中使用另一列的平均输入创建一列

我有一个教授数据库,他们每年教授一门理论课和实践课。每节课他们都会得到分数。现在,我有两张表格,一张是理论课,另一张是实践课,上面有他们多年来的所有成绩

但是我想要一个新的表格,可以有一个教授所获得的所有分数的平均值。我不知道如何告诉程序在教员id值相同的情况下进行平均。(下面有一个图表来理解这个想法)

当我为新类添加新的求值时,我还需要一个触发器来更新我的信息

如果有人能帮助我,我将不胜感激!谢谢!:)

如果您使用的是mysql v5.9或更高版本,您可以创建一个视图,在其中添加avg(列名称),或者您可以创建一个虚拟平均列avg(列名称),它将保留传入的分数如果我阅读了问题,这意味着您希望对实用和理论表执行此操作。你可以以身作则找到教授。从professor_table、practical_table、practical_eval_table、practical_eval_table WHERE professor_table.I=practical_eval_table.prof_id和practical_table.id=practical_eval_table.practical_id创建视图视图视图_name作为practical_AVG
这就是你如何获得某位教授多年来创建的实践课程的平均分数,你也可以在理论课程中使用相同的方法。希望此帮助平均返回一行。数据库就是这样工作的。它为每个教授返回一行

谢谢。那我怎么选教授呢?因为我想要平均每个教授的所有课程。所以我必须对每行中相同的professor_id的值进行平均。我不知道该怎么做,谢谢!我会试试看,看能不能成功。我照你说的做了。但是,视图只有一行。。。这是我的代码:创建VIEW practical_avg_eval AS SELECT professors.professors_id,avg(pevaluation.Evaluation)AS practical_avg FROM professors,pevaluation,practicalcourses WHERE professors.professors_id=pevaluation.pcourse_id