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

标签 mysql sql

我想知道是否有可能有一列具有同一表中其他列的 AVG 值。

例如:

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,但总比没有好。

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

有人提出了类似的问题和答案,其中的触发器可能对您有帮助:Column calculated from another column?

关于mysql - 是否可以添加具有其他列平均值的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24412695/

相关文章:

php - 从 POST 形式将记录保存到 mysql 数据库

sql - EXISTS 如何返回除所有行或不返回行之外的内容?

C#:合并多数据库驱动接口(interface)

php - Laravel 获取最新插入用户的 ID

php - 首先选择最高百分比的 php sql

mysql - 如何修复此 SQL 无效组函数错误?

c# - 如何将 SQL 'LIKE' 与 LINQ to Entities 一起使用?

php - 从mysql中随机选择记录

php - 使用 jQuery 对话框显示 mysql_error 消息

php - 在不循环 300 个查询的情况下从表中获取值的更好方法