Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将查询的平均值插入mysql表_Mysql - Fatal编程技术网

如何将查询的平均值插入mysql表

如何将查询的平均值插入mysql表,mysql,Mysql,我试图得到两个单独的mysql表中每个项目的平均延迟。让我进一步澄清一下,我有两个mysql表,如下所示 表:监控服务器 +-----------+-----------------+ | server_id | label | +-----------+-----------------+ | 1 | a.com | | 2 | b.com | +-----------+----------------

我试图得到两个单独的mysql表中每个项目的平均延迟。让我进一步澄清一下,我有两个mysql表,如下所示

表:监控服务器

+-----------+-----------------+
| server_id | label           |
+-----------+-----------------+
|         1 | a.com           |
|         2 | b.com           |
+-----------+-----------------+
表:监视服务器的正常运行时间

+-------------------+-----------+-----------+
| servers_uptime_id | server_id | latency   |
+-------------------+-----------+-----------+
|                 1 |         1 | 0.4132809 |
|                 3 |         1 | 0.4157769 |
|                 6 |         1 | 0.4194210 |
|                 9 |         1 | 0.4140880 |
|                12 |         2 | 0.4779439 |
|                15 |         2 | 0.4751789 |
|                18 |         2 | 0.4762829 |
|                22 |         2 | 0.4706681 |
+-------------------+-----------+-----------+
基本上,两个表中与相同id_编号关联的每个域。当我运行下面的查询时,得到每个项目的平均值

select monitor_servers.label, avg(monitor_servers_uptime.latency)
from monitor_servers,monitor_servers_uptime  
where monitor_servers.server_id = monitor_servers_uptime.server_id 
group by monitor_servers.server_id;
查询结束了,

+---------------------+-------------------------------------+
| label               | avg(monitor_servers_uptime.latency) |
+---------------------+-------------------------------------+
| a.com               |                       0.41393792995 |
| b.com               |                       0.47551423171 |
+---------------------+-------------------------------------+
我的问题是,在获取每个项目的平均值时,我是否以wright的方式,以及如何将每个项目的新平均值结果插入到表monitor_服务器上的新列中?如果某些延迟行为空,又会发生什么呢

**编辑:我试图在一个查询结果中实现的是**

+-----------+----------+------------------+
| server_id | label    |  avg.            |
+-----------+----------+------------------+
|         1 | a.com    | 0.41393792995    |
|         2 | b.com    | 0.47551423171    |
+-----------+-----------------------------+
提前感谢,

你的计算似乎是正确的

您可以使用sql向monitor_服务器添加另一列:

ALTER TABLE monitor_服务器添加平均延迟默认值0.0不为空


用于执行平均值计算检查答案。

为什么要将数据写入另一个表?这不是多余的吗?我想将每个项目的最新平均值保存到额外的字段中,例如名为“avg”的新列