这是我的 MySQL 表反馈
。
我想计算每一列的平均值,并使用 PHP 文件将结果存储到表 average
中,结构如下。
我正在使用查询 SELECT AVG (waiting) FROM feedback
来计算等待列的平均值。但是我不知道如何将这个查询结果按照上面的结构放到另一个表中。
当使用查询INSERT INTO average(平均)SELECT AVG(waiting)FROM feedback
时**它只更新平均列。
请帮助我提供示例代码。
谢谢
最佳答案
如果理解正确你可以这样做
INSERT INTO average (data, average)
SELECT 'waiting', AVG (waiting) FROM feedback UNION ALL
SELECT 'consultation', AVG (consultation) FROM feedback UNION ALL
SELECT 'preoperative', AVG (preoperative) FROM feedback
示例输出:
| DATA | AVERAGE | -------------------------- | waiting | 3 | | consultation | 2 | | preoperative | 3 |
Here is SQLFiddle demo
Now if you don't have lots of data in feedback
table you can ditch average
table and create a view with the same way. As a result instead of maintaining a table of averages they will be calculated on the fly when you select from it
CREATE VIEW average AS
SELECT 'waiting', ROUND(AVG (waiting)) average FROM feedback UNION ALL
SELECT 'consultation', ROUND(AVG (consultation)) FROM feedback UNION ALL
SELECT 'preoperative', ROUND(AVG (preoperative)) FROM feedback
并使用它
SELECT * FROM average
这是 SQLFiddle 演示
关于php - 使用php将mysql查询存储在另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18004768/