我是sql和mysql的新手,我正在尝试用另一列的平均输入在我的一个表中创建一列。
我有一个教授数据库,这些教授每年教一节理论课和实践课。每节课他们都会得到分数。现在,我有两张表,一张是理论课,另一张是实践课,上面有他们这些年的所有成绩。
但是我想要一个新的表格,可以有一个教授所得到的所有分数的平均值。我不知道如何告诉程序在教员id值相同的情况下进行平均(下面有一个图表来理解这个想法)。
当我为新类添加新的评估时,我还需要一个触发器来更新我的信息。
如果有人能帮我,我将不胜感激!谢谢!:)示例图
3条答案
按热度按时间gt0wga4j1#
平均值返回一行。数据库就是这样工作的。它为每个prof返回一行
ghhaqwfi2#
如果我读了这个问题的意思,你想这样做的实际和理论表。你可以以身作则得到教授。create view view\u name as select professor\u table.name,avg(practical\u eval\u table.evaluation)as practical\u avg,from professor\u table,practical\u table,实践评估表,其中教授评估表。i=practical\u eval\u table.prof\u id和practical\u table.id=practical\u eval\u table.practical\u id这是如何获得某位教授多年来创建的实践课程的平均分,并且你也可以对理论课程使用相同的方法。希望这有帮助
z4iuyo4d3#
您可以创建一个视图,在其中可以添加avg(column\u name)或创建一个虚拟average列avg(column\u name),如果您使用的是mysql v5.9或更高版本,它将保留传入的分数