创建一列,该列是表中其他三列的平均值-SQL

时间:2019-03-16 19:53:16

标签: mysql sql

我的数据库包含一个表,该表包含3个成绩,例如:

grade_1, grade_2 and grade_3 

我想在表格中添加另一行,其中包含这三个年级的平均值:

ALTER TABLE grades
ADD COLUMN ... ??? 

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以这样做:

alter table grades
add column average int as ((grade_1 + grade_2 + grade_3) / 3);

请参见demo

答案 1 :(得分:0)

一个不错的解决方案是使用触发器填充列:

CREATE TRIGGER `default_average_value` 
AFTER INSERT ON `grades` 
FOR EACH ROW  
    UPDATE `grades` SET `grade_average` = SUM(grade_1+grade_2+grade_3)/3;