Mysql 是否可以添加具有其他列的平均值的列?

Mysql 是否可以添加具有其他列的平均值的列?,mysql,sql,Mysql,Sql,我想知道是否可能有一个列具有同一表中其他列的平均值 例如: Columns: ID 125Hz 250Hz 500Hz 750Hz 1000Hz 1500Hz 2000Hz 3000Hz 4000Hz 6000Hz 8000Hz AVG Values: 1 92 82 63 83 32 43 54 56 54 34 54 50 它能否计算所有其他列的平均值,并将平均值自动放在AVG列上?我使用的是PH

我想知道是否可能有一个列具有同一表中其他列的平均值

例如:

Columns:   ID 125Hz 250Hz 500Hz 750Hz 1000Hz 1500Hz 2000Hz 3000Hz 4000Hz 6000Hz 8000Hz AVG
Values:    1  92    82     63    83    32     43     54     56     54     34      54    50

它能否计算所有其他列的平均值,并将平均值自动放在AVG列上?我使用的是PHPMyAdmin。

据我所知,MySQL没有计算列。如果我错了,有人纠正我

因此,您基本上需要这个语句

UPDATE [table_name] SET [AVG] = (125Hz + 250Hz + 500Hz + 750Hz + 1000Hz + 1500Hz + 2000Hz + 3000Hz + 4000Hz + 6000Hz + 8000Hz ) / 11;
对于每行,将列值相加并除以11,因为有11个这样的列。它不是最简单的,因为您需要硬编码11,但它总比没有好

您可以将其放入表上的触发器中,以便在每行发生更改时更新它。我想这会满足你的需要


询问了一个类似的问题和答案,那里的触发器可能会对您有所帮助:

您不能将其放在原始表中,但可以创建一个视图来完成此操作:

CREATE VIEW column_avg AS
SELECT (125Hz + 250Hz)/2 AS total_avg
FROM table_name;

只需列出加法部分中的所有列,然后除以列数。

这是平均数的平均值-这就是你的意思吗?我原以为这就是他们的意思,但似乎我是不正确的,更新了。这不起触发作用。你知道这段代码如何适合作为一个触发器吗?我还没有用MySQL做过足够的工作来演示如何做。你说没用。出了什么问题?