php - 使用php将mysql查询存储在另一个表中

标签 php mysql

这是我的 MySQL 表反馈

Mysql Table

我想计算每一列的平均值,并使用 PHP 文件将结果存储到表 average 中,结构如下。

enter image description here

我正在使用查询 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/

相关文章:

javascript - 使用不使用ajax的jquery从数据库中获取php数据

php - preg_replace,正则表达式获取文本部分

javascript - Xampp + Php Websocket最大执行时间错误

python - 在 Python 中,如何将从 mySQL 获取的日期转换为任何格式的字符串,如 (%d-%m-%Y)

MySql 连接中的 Java ClassNotFoundException (java.sql.SQLType)

mysql - 我可以指定连接发生的顺序吗?

php - Google Drive PHP API - 如何流式传输大文件

ssl - Nginx/php-fpm开启HTTPS后无法执行PHP文件

mysql - 子查询中选定的列(多列)未显示

mySQL - JOINS 和 ORDER BY 一/零/空值