我是SQL和MySQL的新手,我试图找到一种方法来在我的一个表中创建一列,平均输入另一列。
我有一个教授数据库,这些教授每年都会教授理论和实践课程。对于每个课程,他们都会得到一个分数。现在,我有两张桌子,一张是理论课,另一张是实践课,它们多年来都获得了所有分数。
但是我想要一个新表,该表可以包含教授获得的所有分数的平均值。而且我不知道如何告诉程序执行平均值,而faculty_id的值是相同的。 (下面有一个图可以理解这个想法)。
当我为新的班级添加新的评估时,我还希望触发器来更新我的信息。
如果有人可以帮助我,我将不胜感激!谢谢! :) Diagram of example
答案 0 :(得分:0)
您可以创建一个视图,可以在其中添加avg(column_name),也可以创建一个虚拟平均列avg(column_name),如果您使用的是mysql v5.9或更高版本,则该列将保留传入分数
答案 1 :(得分:0)
如果我读了这个意思,您想在实践和理论表中这样做。您可以通过示例获得教授。创建视图view_name作为SELECT Professor_table.name的选择,AVG(practical_eval_table.evaluation)作为Practical_avg,在Professor_table中,from Professor_table,Practical_table,actual_eval_table中。 这是您如何获得特定教授多年来创建的实践课程的平均成绩,并且您也可以对理论课程使用相同的方法。希望有帮助
答案 2 :(得分:0)
平均值返回一行。这就是数据库的工作方式。每个教授返回一行