gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 22:51:23 25 4
gpt4 key购买 nike

我正在尝试获取两个单独的 mysql 表中每个项目的平均延迟。让我更清楚地说明一下,我有两个 mysql 表,如下所示,

表:monitor_servers

+-----------+-----------------+
| server_id | label |
+-----------+-----------------+
| 1 | a.com |
| 2 | b.com |
+-----------+-----------------+

表:monitor_servers_uptime

+-------------------+-----------+-----------+
| 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_number 关联。当我运行下面的查询时,获取每个项目的平均值。

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 |
+---------------------+-------------------------------------+

我的问题是,在获取每个项目的平均值时,我是否以正确的方式进行操作,以及如何将每个项目的新平均结果插入到表 Monitor_servers 上的新列中?如果某些延迟行为 NULL ,会发生什么情况?

**编辑:我想在一个查询结果中实现的目标是**

+-----------+----------+------------------+
| server_id | label | avg. |
+-----------+----------+------------------+
| 1 | a.com | 0.41393792995 |
| 2 | b.com | 0.47551423171 |
+-----------+-----------------------------+

提前致谢,

最佳答案

  1. 您的计算似乎是正确的。

  2. 您可以使用 sql 将另一列添加到 Monitor_servers:

更改表monitor_servers ADD avg_latency DEFAULT 0.0 NOT NULL

用于进行 AVG 计算检查 this回答。

关于mysql - 如何将查询的平均值插入mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com