我想知道是否有可能有一列具有同一表中其他列的 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/